共计 1104 个字符,预计需要花费 3 分钟才能阅读完成。
在日常开发中,文件不仅需要读写,还经常需要管理,比如检查文件是否存在、创建目录、删除文件等。这就需要用到 Python 的 os 模块与 os.path 子模块。
- 获取当前工作目录
import os
print(os.getcwd()) # 输出当前工作目录
os.getcwd() 常用于确认程序运行的位置。
- 切换工作目录
os.chdir("C:/Users/Public")
print(os.getcwd()) # 切换到新的目录
os.chdir() 可以更改默认的文件操作路径。
- 判断文件或目录是否存在
import os
print(os.path.exists("output.txt")) # 检查文件是否存在
print(os.path.exists("myfolder")) # 检查目录是否存在
os.path.exists() 是避免操作不存在路径的有效方法。
- 区分文件和目录
print(os.path.isfile("output.txt")) # 是否是文件
print(os.path.isdir("myfolder")) # 是否是目录
- 创建与删除目录
os.mkdir("new_folder") # 创建单层目录
os.makedirs("a/b/c") # 创建多层目录
os.rmdir("new_folder") # 删除单层目录
os.removedirs("a/b/c") # 删除多层目录
注意:删除目录时必须为空,否则会报错。
- 列出目录下的文件与子目录
files = os.listdir(".") # 列出当前目录下的所有文件和子目录
print(files)
- 拼接路径
手动拼接路径容易出错,可以用os.path.join():
path = os.path.join("myfolder", "output.txt")
print(path) # 在 Windows 下会显示 myfolder\output.txt
它会根据不同操作系统自动选择路径分隔符。
- 获取文件的绝对路径与分离路径
print(os.path.abspath("output.txt")) # 获取绝对路径
print(os.path.dirname("C:/test/file.txt")) # 获取目录部分
print(os.path.basename("C:/test/file.txt")) # 获取文件名部分
总结:
本节我们学习了 os 与 os.path 模块的常见用法,包括路径判断、目录操作、路径拼接和文件属性获取。这些工具是文件管理中必不可少的基础。
练习与思考:
- 写一个程序,检查指定目录是否存在,如果不存在则自动创建。
- 获取当前目录下的所有
.txt文件,并逐一打印文件的绝对路径。 - 写一个函数,输入文件路径,返回文件的目录和文件名。
正文完