去管理一个文件夹,也是我们初学python经常能遇到的问题,因为这是最基础的内容,所以熟练掌握是非常重要的事情,不知道大家是如何解决的,但是今天小编给大家讲解搞定python操作文件和目录,一起来看下吧~
判断目录或是文件是否存在
判断是否是文件或是目录
1 2 3 4 | # 如果文件或是目录不存在也会返回False
os.path.isfile(path)
os.path.isdir(path)
复制代码
|
创建/删除目录
1 2 3 | os.mkdir(path)
os.rmdir(path)
复制代码
|
得到当前的目录名称
1 2 | os.path.split(dir_path)[1]
复制代码
|
这个方法既简单又实用,比如我们输入一个目录路径:
1 2 3 4 5 6 7 8 9 10 | os.path.split( '/usr/projects/project1' )[1]
# 输出
project1
# 实际上,上面的代码是分了2步走:
# 第1步:利用os.path.split方法分割路径
os.path.split( '/usr/projects/project1' )
# 输出
( '/usr/projects' , 'project1' )
# 然后第2步取出第2个结果,也就是当前的目录名字
复制代码
|
循环遍历目录
循环遍历目录有2种方式,一种是常规的递归方法,类似下面这样:
1 2 3 4 5 6 | def list_file(path):
for file in os.listdir(path):
if os.path.isdir(os.path.join(path, file)):
list_file(os.path.join(path, file))
print(file)
复制代码
|
还有一种更好的方式就是用os.walk方法,类似下面这样:
1 2 3 4 5 6 7 8 | def list_file_by_walk(dir_path):
for home, dirs, files in os.walk(dir_path):
print(home)
print(dirs)
# files中是文件列表
for file_name in files:
print(file_name)
复制代码
|
拓展——os.walk方法的几个参数简单介绍一下:
home:这个是当前遍历的目录,比如说是 /usr/projects/
dirs:是这个目录(home目录)下面的所有文件夹(也就是子目录)
files:是这个目录(home目录)下所有的文件
好了以上就是操作文件目录的全部内容了,大家学习下吧~