美文网首页
Python操作目录,如:获取当前工作目录,获取执行命令的位置,

Python操作目录,如:获取当前工作目录,获取执行命令的位置,

作者: 潘高PG | 来源:发表于2019-04-11 17:39 被阅读0次

    • 获取当前工作目录
    • 获取执行命令的位置
    • 路径拼接
    • 路径拆分
    • 文件重命名
    • 删除文件
    • 复制文件
    • 遍历文件夹下的文件
    • 判断文件是否存在
    • 判断目录是否存在

    获取当前工作目录

    import sys
    
    print(sys.path[0])  # 获取当前工作目录
    

    获取当前脚本名

    import sys
    
    print(sys.argv[0])  # 当前脚本名
    

    获取执行命令的位置

    import os
    
    print(os.getcwd())  # 获取执行命令的位置
    

    获取路径的目录

    import os
    
    print(os.path.dirname(path))  # 去掉文件名,返回目录
    

    路径拼接

    由于不同的操作系统的路径分隔符不同,因此在做路径拼接时不要直接拼接字符串,而是通过 os.path.join() 函数,如下:

    import os
    
    os.path.join('/Users/pangao', 'test.txt')
    
    # /Users/pangao/test.txt'
    

    路径拆分

    同理,使用 os.path.split() 函数拆分路径,如下:

    import os
    
    os.path.split('/Users/pangao/test.txt')
    
    # ('/Users/pangao/', 'test.txt')
    

    os.path.splitext() 可以直接获取文件扩展名,很方便,如下:

    import os
    
    os.path.splitext('/Users/pangao/test.txt')
    
    # ('/Users/pangao/test', '.txt')
    

    这些合并、拆分路径的函数并不会检测目录和文件是否真实存在,他们仅仅是对字符串进行操作。

    文件重命名

    假定当前目录下有一个 test.txt 文件,如下:

    import os
    
    os.rename('test.txt', 'test.py')    #重命名
    

    删除文件

    假定当前目录下有一个 test.txt 文件,如下:

    import os
    
    os.remove('test.txt')    #删除
    

    复制文件

    os 模块中没有复制函数,幸运的是shutil模块提供了copyfile()的函数,你还可以在shutil模块中找到很多实用函数,它们可以看做是os模块的补充,如下:

    import shutil
    
    shutil.copyfile('test.txt', 'test.py')
    

    遍历文件夹下的文件

    • 方法1:
      使用 os.listdir 获取当前目录下的文件和文件夹,如下:
    import os
    
    for filename in os.listdir('./'):
        print(filename)
    
    • 方法2:
      使用 glob 模块,可以设置文件过滤,如下:
    import glob
    
    for filename in glob.glob('*.py'):
        print(filename)
    
    • 方法3:
      通过 os.walk ,可以访问子文件夹,如下:
    import os
    
    for fpathe, dirs, fs in os.walk('./'):
        for f in fs:
            print(os.path.join(fpathe, f))
    

    判断文件是否存在

    import os
    
    os.path.isfile('test.txt') # 如果不存在就返回False
    

    判断目录是否存在

    import os
    
    os.path.exists(directory) #如果目录不存在就返回False
    

    相关文章

      网友评论

          本文标题:Python操作目录,如:获取当前工作目录,获取执行命令的位置,

          本文链接:https://www.haomeiwen.com/subject/fzjxwqtx.html