python中os模块操作目录与文件名小结
(1). 创建目录:
SigleDir = 'sigle_layer'
MultiDir = 'D:\\Web\\multi_layer'
创建单层目录: os.mkdir(SigleDir)
创建多层目录: os.makedirs(MultiDir)
(2). 文件路径和文件名的折分与合并
拆分: dirname, filename = os.path.split('D:\\python_code\\split_functon.py')
print 'dirname=',dirname,'; filename=',filename
结果输出为:dirname= D:\python_code ; filename= split_functon.py
合并: filepath = os.path.join('D:\\python_code', 'split_functon.py')
print filepath
结果输出为:D:\python_code\split_functon.py
(3). 文件名和扩展名的拆分
name, suffix = os.path.splitext('D:\\python_code\\split_functon.py')
print 'name=',name, '; suffix=',suffix
结果输出为 : name= D:\python_code\split_functon ; suffix= .py
(4). 打印出指定文件夹下的全部文件
for files in os.listdir('D:\\nginx'):
print files
输出结果是将('D:\\nginx')此目录下的所有文件名给打印出来,但不包括子目录下的文件;
若要打印出该目录下子目录中的文件则见下文第(5)条。
(5). 遍历指定目录下所有文件(包括子目录下的文件)
for root,dirs,files in os.walk('D:\\nginx'):
print root -----> 当前目录路径
print dirs -----> 当前路径下的所有子目录
print files -----> 当前路径下所有非目录文件,分析每个文件需for循环
(6). 判断文件或目录是否存在
os.path.exists('123.txt') ----> 判断文件是否存在
os.path.exists('D:\\python_code') ----> 判断文件夹是否存在
isExists = os.path.exists('D:\\python_code')
if not isExists:
os.mkdir('D:\\python_code')
(7). 判断指定的路径是文件还是目录
os.path.isdir('D:\\nginx')
os.path.isfile('D:\\nginx\\nginx.txt')