python3常用的文件夹操作

- glob.glob()–遍历一个文件夹中的特定类型的文件

当我们想获取一个文件夹内的所有特定类型的文件的路径,如tiff,txt文件,我们可以用glob.glob()实现,它用符号*去匹配文件,返回一个list。以下是遍历test/txt/文件夹中的所有txt文件的操作,文件夹中含有1.txt,2.txt。

import glob

filename=glob.glob('test/txt/*.txt')
print(filename)

output:

[‘test/txt\\1.txt’, ‘test/txt\\2.txt’]

我们可以使用split(’\\’)将文件夹的路径和文件名分开

print(filename[0].split('\\'))

output:

[‘test/txt’, ‘1.txt’]

- os.listdir()–遍历一个文件夹中的所有文件夹

使用os.listdir()可以遍历一个文件夹中的所有文件夹,返回的是一个list,包含该文件夹中包含的所有文件夹名。如果文件夹为空,则返回一个空的list。以下是遍历test/文件夹中的所有文件夹的操作,文件夹中包含image,txt两个子文件夹。

import os

listdir=os.listdir('test')
print(listdir)

output:

[‘image’, ‘txt’]

- os.path.exists()–判断文件夹是否存在

文件夹存在则返回True,不存在返回False。

import os

print(os.path.exists('test/txt/1.txt'))
print(os.path.exists('test/txt/3.txt'))

outputs:

True
False

- os.mkdir()–新建文件夹

使用os.mkdir()只能在已有的目录下简历一个文件夹,如果想在已有目录下先建立一个文件夹,再在新建的文件夹中再件一个文件夹,需要分两步进行操作。如已有文件夹test,需要建立文件夹test/1/2则需要分两步进行。

import os

if not os.path.exists('test/1/2'):
    os.mkdir('test/1')
    os.mkdir('test/1/2')

- os模块删除文件操作

import os

#删除指定的文件,若文件不存在则报错
os.remove('test/txt/1.txt')

#删除空的文件夹,若文件夹不为空或者不存在则报错
os.rmdir('test/1/2')

- shutil模块删除非空文件夹以及文件夹内的所有文件

os.rmdir()只能删除空的文件夹,若要删除非空的文件夹则使用shutil.rmtree(),将删除文件夹以及包含的所有文件。

shutil.rmtree('test')

被删除的文件貌似不能恢复,请小心使用,以免误删!

发布了37 篇原创文章 · 获赞 6 · 访问量 5418

猜你喜欢

转载自blog.csdn.net/qq_37891889/article/details/84638724