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_codesplit_functon.py

(3). 文件名和扩展名的拆分

        name, suffix = os.path.splitext('D:\python_code\split_functon.py')

        print 'name=',name, '; suffix=',suffix

        结果输出为 : name= D:python_codesplit_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')

原文地址:https://www.cnblogs.com/xiehy/p/10537540.html