python中os模块操作目录与文件名小结

时间:2023-03-09 13:34:27
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')