Python内置的os模块也可以直接调用操作系统提供的接口函数。
查看特定路劲下的目录:小数点表示当前路径
import os
print(os.listdir('.'))
添加路径一定要使用os.path.join() 来拼接字符串,不要擅自添加字符串来指定路径,那样容易出错,因为不同的系统路径的命名规则可能不同,而这里的join就是返回一个保证正确的添加路径的字符串。
import os
print(os.listdir('.'))
#显示当前路径
path = os.path.abspath('.')
print(path)
path = os.path.join(path,'test1')#在当前路径下添加文件夹路径名,得到一个符合系统路径命名的字符串
print(path)
try: #根据字符串创建路径
os.mkdir(path)
except FileExistsError as f:
print(f)
finally:
print(path+'\t has been created')
print(f"当前路径目录:{os.listdir('.')}")
try: #根据字符串删除路径
os.rmdir(path)
except FileNotFoundError as f:
print(f)
finally:
print(path+'\t has been removed')
print(f"当前路径目录:{os.listdir('.')}")
反过来,os.path.split()可以按照系统路径规则分出最后一个文件夹:
path = os.path.abspath('.')
print(path)
tup = os.path.split(path)
print(tup)
os.path.splitext()与splite相似,只是这个是得到文件的扩展名:
path = os.path.abspath('.')
path = os.path.join(path,'file.txt')
print(path)
tup = os.path.splitext(path)
print(tup)
注意,拼接和切分都只是对字符串进行操作
对文件的重命名和移除:
try:
os.rename('me.txt', 'you.txt')
except FileNotFoundError as f:
print(f)
try:
os.remove('you.txt')
except FileNotFoundError as f:
print(f)
文件的过滤:
当一个路径下文件很多的时候,过滤就显得有用些了
str = os.listdir('.')
print(str)
print([x for x in os.listdir('.') if os.path.isfile(x) and os.path.splitext(x)[1]=='.txt'])