• 文件有两个关键属性:路径和文件名。
    路径指明了文件在磁盘上的位置。文件名后面部分有扩展名,指明了文件的类型。
  • Python有两个模块和文件及文件夹的操作相关
    1.os模块 2.shutil模块

一.当前工作目录

  • 每个运行在计算机上的程序,都有一个“当前工作目录”。所以没有从根文件夹开始的文件名或路径,都假定工作在当前目录下。
  • 在交互式环境中:
import os
print(os.getcwd())

二.目录操作

  1. 程序可以用os.makedirs()函数创建新目录。在交互式环境中输入以下代码:
import os

os.makedirs("e:\\python1\\ch5files")  # 创建多级目录
os.mkdir("e:\\python1\\ch5files2")  # 创建单个目录
  1. 列出目录内容:使用os.listdir()函数可以返回给出路径中文件名及文件夹名的字符串列表:
import os
os.listdir("e:\\python1")
  1. 修改当前工作目录
    使用os.chdir()函数可以更改当前工作目录。
import os

os.chdir("e:\\python1")
os.listdir(".")  # .代表当前工作目录
  1. 删除目录
import os

os.rmdir("e:\\python1\\ch5files2")

注意:rmdir()函数只能删除空文件夹,如果文件夹非空,就会报错。

三.文件操作

  1. 获取路径和文件名
    使用os.path模块中的函数获取。
    os.path.dirname(path):返回path函数中的路径名称字符串。
    os.path.basename(path):返回path参数中的文件名。
    os.path.split(path):返回参数的路径名称和文件名组成的字符串元组。
  2. 检查路径有效性
    os.path.exists(path):判断参数path的文件或文件夹是否存在。
    os.path.isfile(path):判断参数path是否存在且是否是文件。
    os.path.isdir(path):判断参数path存在且是一个文件夹。
  3. 获取文件大小
    os.path模块中的os.path.getsize()函数可以获取文件大小。
  4. 重命名文件
    os.rename()函数可以帮助我们重命名文件。
  5. 复制文件和文件夹
    shutil.copy(source,destination):复制文件。
    shutil.copytree(source,destination):复制整个文件夹,包括文件及子文件夹。
  6. 文件和文件夹的移动和改名
    shutil.move(source,destination):shutil.move()函数与shutil.copy()函数用法相似,参数destination既可以是一个包含新文件名的路径,也可以仅包含文件夹。
  7. 删除文件和文件夹
    os模块和shutil模块都有函数可以删除文件和文件夹。
    os.remove(path)、os.unlink(path):删除参数path指定的文件。
    os.rmdir(path):只能删除空文件夹。
    shutil.rmtree(path):可以删除整个文件夹,包含所有文件和子文件夹。
  8. 遍历目录树
    想要处理文件夹中包括子文件夹内的所有文件即遍历目录树。
    可以使用os.walk()函数,返回该路径下所有文件及子目录信息元组。