下面是关于Python文件目录操作的os
模块的详细攻略。
什么是os模块
os
模块提供了访问操作系统功能的接口,包括文件操作、目录操作、进程管理、环境变量设置等。
常用的os
模块功能如下:
os.getcwd()
:获取当前工作目录。os.chdir(path)
:改变当前工作目录。os.listdir(path)
:返回指定目录下的所有文件和目录名。os.remove(path)
:删除指定路径的文件。os.rmdir(path)
:删除指定路径的目录(仅当该目录为空目录时)。os.makedirs(path)
:创建一个或多个嵌套目录。os.path.isfile(path)
:判断指定路径是否为文件。os.path.isdir(path)
:判断指定路径是否为目录。
文件目录操作示例
示例1:列出指定目录下的所有文件和目录
import os
path = "/Users/john/Downloads"
dirs = os.listdir(path)
# 输出所有文件和目录
for file in dirs:
print(file)
上述代码中,首先通过os.listdir()
函数获取指定目录/Users/john/Downloads
下的所有文件和目录,并将其赋值给变量dirs
。然后遍历dirs
中的每个文件和目录,输出它们的名称。
示例2:递归遍历指定目录下的所有文件和子目录
import os
def get_all_files(path):
"""
递归遍历指定目录下的所有文件和子目录
"""
result = []
for root, dirs, files in os.walk(path):
for file in files:
result.append(os.path.join(root, file))
return result
path = "/Users/john/Downloads"
files = get_all_files(path)
# 输出所有文件路径
for file in files:
print(file)
上述代码中,定义了一个get_all_files()
函数,该函数接受一个路径参数path
,使用os.walk()
函数递归遍历指定目录下的所有子目录,并将所有文件的路径存储在result
列表中,最后返回result
列表。然后,我们将/Users/john/Downloads
目录传递给该函数,获取其中的所有文件路径,并将它们逐个输出显示。
值得一提的是,os.walk()
函数返回一个三元组(root, dirs, files)
,其中root
表示正在遍历的目录,dirs
表示当前目录中的子目录,files
表示当前目录中的文件列表。我们可以利用这些信息来深入遍历目录树。
通过以上示例,在实际开发中,我们可以利用os
模块的功能来实现更加灵活的文件目录操作。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python文件目录操作之os模块 - Python技术站