Python 中与文件路径有关的模块是 os 模块
路径获取
- 取得当前工作目录:os.getcwd()
- 取得绝对路径:os.path.abspath(str)#str 表示文件名
- 取得相对路径:os.path.relpath(path,start)#传回从 start 到 path 的相对路径,省略则会传回当前工作目录到 path 的相对路径
路径检查
- exist(path):检查 path 是否存在
- isabs(path):检查是否是绝对路径
- isdir(path):检查是否是文件夹
- isfile(path):检查是否是文件
针对文件的操作
- mkdir(path):建立 path 文件夹
- rmdir(path):删除 path 文件夹,但必须是空的文件夹
- remove(path):删除 path 文件
- chdir(path):将当前工作文件夹改至 path。
#在D盘创建文件夹,在文件夹内创建若干个文件 |
获取特定文件夹的内容 os.listdir()
可以使用 listdir 获取文件夹的内容,更常用的一种获取方式是用 glob。
使用 glob 列出匹配文件
glob()函数会使用 Unix shell 的规则来匹配文件或者目录,而不是更复杂的正则表达式。
具体规则如下所示:
- *:匹配任意字符
- ?:匹配一个字符
- [!abc]:匹配 a,b,c 以外的所有字符
使用通配符"",即".txt"获得所有 txt 扩展名的文件,"ch*.*"列出所有 ch 开头的文件
遍历文件树 os.walk()
os.walk()与 os.listdir()相似,不过前者可以得到子文件夹的具体情况,os.walk()返回值有三个:
- 当前文件夹名称(dirName)
- 子文件夹列表(sub_dirNames)
- 文件列表(fileNames)
import os |
文件/文件夹的复制粘贴
os 模块可以用于文件或者文件夹的新建,至于对文件夹或者文件的相关操作,shutil 模块提供了问价和文件夹的复制移动和删除等操作。
文件的复制
文件的复制主要利用 copy 函数:
shutil.copy(soucetpath,destinationpath)
copytree 与上述函数相似,主要用于对文件夹的复制
文件的移动(重命名)
文件的移动借助 move 函数,与 copy 函数的输入参数类似。在移动过程中如果发现目标位置中已有相同的文件名,那么该操作还可以实现文件名的更改。
文件或者文件夹的删除
该模块下的 rmtree()可以帮助我们删除已有的文件夹(包括其中的子文件),但是需要注意的是这种删除是彻底的,不会放入回收站。若要将其放入回收站,可以借助 send2trash.send2trash()函数。
文件的删除要借助 os.remove()函数.
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 小明的博客!
评论