- 文件有两个关键属性:路径和文件名。
路径指明了文件在磁盘上的位置。文件名后面部分有扩展名,指明了文件的类型。 - Python有两个模块和文件及文件夹的操作相关
1.os模块 2.shutil模块
一.当前工作目录
- 每个运行在计算机上的程序,都有一个“当前工作目录”。所以没有从根文件夹开始的文件名或路径,都假定工作在当前目录下。
- 在交互式环境中:
import os
print(os.getcwd())
二.目录操作
- 程序可以用os.makedirs()函数创建新目录。在交互式环境中输入以下代码:
import os
os.makedirs("e:\\python1\\ch5files") # 创建多级目录
os.mkdir("e:\\python1\\ch5files2") # 创建单个目录
- 列出目录内容:使用os.listdir()函数可以返回给出路径中文件名及文件夹名的字符串列表:
import os
os.listdir("e:\\python1")
- 修改当前工作目录
使用os.chdir()函数可以更改当前工作目录。
import os
os.chdir("e:\\python1")
os.listdir(".") # .代表当前工作目录
- 删除目录
import os
os.rmdir("e:\\python1\\ch5files2")
注意:rmdir()函数只能删除空文件夹,如果文件夹非空,就会报错。
三.文件操作
- 获取路径和文件名
使用os.path模块中的函数获取。
os.path.dirname(path):返回path函数中的路径名称字符串。
os.path.basename(path):返回path参数中的文件名。
os.path.split(path):返回参数的路径名称和文件名组成的字符串元组。 - 检查路径有效性
os.path.exists(path):判断参数path的文件或文件夹是否存在。
os.path.isfile(path):判断参数path是否存在且是否是文件。
os.path.isdir(path):判断参数path存在且是一个文件夹。 - 获取文件大小
os.path模块中的os.path.getsize()函数可以获取文件大小。 - 重命名文件
os.rename()函数可以帮助我们重命名文件。 - 复制文件和文件夹
shutil.copy(source,destination):复制文件。
shutil.copytree(source,destination):复制整个文件夹,包括文件及子文件夹。 - 文件和文件夹的移动和改名
shutil.move(source,destination):shutil.move()函数与shutil.copy()函数用法相似,参数destination既可以是一个包含新文件名的路径,也可以仅包含文件夹。 - 删除文件和文件夹
os模块和shutil模块都有函数可以删除文件和文件夹。
os.remove(path)、os.unlink(path):删除参数path指定的文件。
os.rmdir(path):只能删除空文件夹。
shutil.rmtree(path):可以删除整个文件夹,包含所有文件和子文件夹。 - 遍历目录树
想要处理文件夹中包括子文件夹内的所有文件即遍历目录树。
可以使用os.walk()函数,返回该路径下所有文件及子目录信息元组。