- 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')
被删除的文件貌似不能恢复,请小心使用,以免误删!