查看文件名和文件路径

1 >>> import os
2 >>> url = 'https://images0.cnblogs.com/i/311516/201403/020013141657112.png'
3 >>> filename = os.path.basename(url)
4 >>> filepath = os.path.dirname(url)
5 >>> filename
6 '020013141657112.png'
7 >>> filepath
8 'https://images0.cnblogs.com/i/311516/201403'
9 >>>
1 import os
2 print(os.path.realpath(__file__)) # 当前文件的路径
3 print(os.path.dirname(os.path.realpath(__file__))) # 从当前文件路径中获取目录
4 print(os.path.basename(os.path.realpath(__file__))) # 从当前文件路径中获取文件名
1 print(os.listdir(dirname))     # 只显示该目录下的文件名和目录名,不包含子目录中的文件,默认为当前文件所在目录
 1 import os
2
3 # os.walk()遍历文件夹下的所有文件
4 # os.walk()获得三组数据(rootdir, dirname,filnames)
5 def file_path(file_dir):
6 for root, dirs, files in os.walk(file_dir):
7 print(root, end=' ') # 当前目录路径
8 print(dirs, end=' ') # 当前路径下的所有子目录
9 print(files) # 当前目录下的所有非目录子文件
 
 
===============================================================================

以下是把sourceDir目录下的以.JPG结尾的文件所有拷贝到targetDir目录下:

<span style="font-size:18px;">>>>import os
>>> import os.path
>>> import shutil
>>> def copyFiles(sourceDir,targetDir):
for files in os.listdir(sourceDir):
sourceFile = os.path.join(sourceDir,files) //把文件夹名和文件名称链接起来
targetFile = os.path.join(targetDir,files)
if os.path.isfile(sourceFile) and sourceFile.find('.JPG')>0: //要求是文件且后缀是jpg

shutil模块

复制文件夹

复制文件

复制文件的时候。假设指定的文件目的位置之间有文件夹不存在。则会抛出错误。

所以最好在拷贝之间确认文件夹存在。

当文件夹存在的时候,复制文件就没有问题了。

删除文件夹使用例如以下函数:

shutil.rmtree('d:/dd')

移动文件或者目录到另外一个地方:

shutil.move('d:/c.png','e:/')

-------------------------------------------

那么存在一个问题就是。copy函数和copyfile函数二者的差别是什么呢?

看help:

从help中能够看出来,copyfile不过把文件复制到目的文件。可是copy函数能够把文件的mode也一起拷贝。比方说原来的文件有+x可运行权限,那么目的文件也会有可运行权限。

删除一级文件夹下的全部文件:

<span style="font-size:18px;">def removeFileInFirstDir(targetDir):
for file in os.listdir(targetDir):
targetFile = os.path.join(targetDir, file)
if os.path.isfile(targetFile): //仅仅删除文件不删除目录
os.remove(targetFile)</span>

文本内容的复制,把文件夹下的全部文件的内容都写入到目标文件里:

<span style="font-size:18px;">def coverFiles(sourceDir,  targetDir):
for file in os.listdir(sourceDir):
sourceFile = os.path.join(sourceDir, file)
targetFile = os.path.join(targetDir, file)
#cover the files //复写?
if os.path.isfile(sourceFile):
open(targetFile, "wb").write(open(sourceFile, "rb").read())</span>
<span style="font-size:18px;">def writeVersionInfo(targetDir):
open(targetDir, "wb").write("Revison:")</span>

使用python脚本进行文件的操作是非常方便的的。省却非常多时间

python 查看文件名和文件路径的更多相关文章

  1. python文件名和文件路径操作

    Readme: 在日常工作中,我们常常涉及到有关文件名和文件路径的操作,在python里的os标准模块为我们提供了文件操作的各类函数,本文将分别介绍"获得当前路径""获得 ...

  2. 【Python】python文件名和文件路径操作

    Readme: 在日常工作中,我们常常涉及到有关文件名和文件路径的操作,在python里的os标准模块为我们提供了文件操作的各类函数,本文将分别介绍“获得当前路径”“获得当前路径下的所有文件和文件夹, ...

  3. Python基础之分离文件名和文件路径

    参考链接:https://blog.csdn.net/qq_42110481/article/details/81104182 分离文件名与文件路径: import os if __name__ == ...

  4. OpenFileDialog获取文件名和文件路径问题

    OpenFileDialog获取文件名和文件路径问题(转) 转自:http://blog.sina.com.cn/s/blog_7511914e0101cbjn.html System.IO.Path ...

  5. SQL SERVER 查看mdf ldf文件路径

    SQL SERVER 查看mdf ldf文件路径 select filename from sysfiles

  6. sql 查看数据库物理文件路径

    方式一:用于查询all数据库,适用于SQL2005及以上版本. USE [Master] GO /****** 对象 :  Table [dbo].[Master]    脚本日期 : 06/29/2 ...

  7. C# Winform中如何获取文件名与文件路径

    获取文件名方法: 用System.IO.Path.GetFileName和System.IO.Path.GetFileNameWithoutExtension(无扩展名)的方法 获取文件路径方法: / ...

  8. C#快速剔除字符串中不合法的文件名或者文件路径字符

    C#快速剔除字符串中不合法的文件名 string strFileName= "文件名称";  StringBuilder rBuilder = new StringBuilder( ...

  9. Python中的相对文件路径的调用

    先让我们来看看一个用到相对文件路径的函数调用的问题.假设现在有两个脚本文件main.py和func.py,他们的路径关系是: . |--dir1 |--main.py |--dir2 |--func. ...

随机推荐

  1. How do I extract a single column from a data.frame as a data.frame

    Say I have a data.frame: df <- data.frame(A=c(10,20,30),B=c(11,22,33), C=c(111,222,333))  A  B  C ...

  2. P4609 [FJOI2016]建筑师

    思路 裸的第一类斯特林数,思路和CF960G相同 预处理组合数和第一类斯特林数回答即可 代码 #include <cstdio> #include <cstring> #inc ...

  3. 【.Net】在windows server 2016 和Windows10这些server上安装.net fw3.5

    一般就是打开server manager. 一直next到add feature 讲net3.5勾选 发现需要指定一个路径是什么 source\sxs之类的 下载microsoft-windows-n ...

  4. Latex: 保持参考文献大小写

    参考: BibTeX loses capitals when creating .bbl file Latex: 保持参考文献大小写 在排版时,BibTeX会根据参考文献的格式将除了title中的第一 ...

  5. 所有JTAG集成电路都应该支持菊花链

    菊花链 在电气和电子工程中,菊花链是一种布线方案,其中多个设备按顺序或环形连接在一起.相邻设备才能通信.菊花链可用于电源,模拟信号,数字数据或其组合. 但是由于菊花链的串联特性,如果任何一个设备从链路 ...

  6. 增强 用文本增强修改SAP标准屏幕中的字段名称 属于元素的文本增强

    如果想要改变标准屏幕中的字段名称,如把物料主数据基本数据元素的名字改为我们想要的名字 . 1.首先,事务MM03进入物料主数据的基本数据2视图中,将鼠标光标放在需要更改的字段“页格式”上,然后按F1键 ...

  7. _battleground

    战场控制表 bgName 战场名字 bgTypeId 战场类型索引,请勿修改 cf 0 - 关闭混排:1 - 开启混排 limitHP 进入战场的最低血量,血量低于该值无法排此战场 maxRes 阿拉 ...

  8. VirtualBox安装Centos6.8出现——E_INVALIDARG (0x80070057)

    VirtualBox使用已有的虚拟硬盘出错: 问题描述:UUID已经存在 Cannot register the hard disk 'E:\system_iso\centos6.8.vdi' {05 ...

  9. BZOJ 4591 【SHOI2015】 超能粒子炮·改

    题目链接:超能粒子炮·改 这道题的大体思路就是用\(lucas\)定理,然后合并同类项,就可以得到一个可以递归算的式子了. 我们用\(S(n,k)\)表示答案,\(p\)表示模数(\(2333\)是一 ...

  10. 剖析Hadoop和Spark的Shuffle过程差异

    一.前言 对于基于MapReduce编程范式的分布式计算来说,本质上而言,就是在计算数据的交.并.差.聚合.排序等过程.而分布式计算分而治之的思想,让每个节点只计算部分数据,也就是只处理一个分片,那么 ...