Python 路径管理 os.path()

文件夹操作

os.getcwd() # 获取当前工作路径
os.chdir() # 修改当前工作路径
os.makedirs() # 创建新文件夹,包括中间文件

绝对路径和相对路径

os.path.abspath(path) # 将返回 path 参数的绝对路径的字符串,这是将相对路径转换为绝对路径的简便方法。
os.path.isabs(path) # 如果参数是一个绝对路径,就返回 True,如果参数是一个相对路径,就返回 False。
os.path.relpath(path, start) # 将返回从 start 路径到 path 的相对路径的字符串。如果没有提供 start,就使用当前工作目录作为开始路径。

目录名称(dirname)和基本名称(basename)

path = os.path.join(path1,path2) #返回被连接的路径字符串
os.path.dirname(path) #返回基本名称,path最后一个斜杠之前的所有内容
os.path.basename(path) #返回目录名称,path最后一个斜杠之后的所有内容
os.path.split(path) #返回目录名称和基本名称(一个元组)
os.path.split(os.path.sep) #按反斜杠分割所有路径(返回列表)

查看文件大小

os.path.getsize(path) #返回path中文件的字节数
os.listdir(path) #返回path中所有文件的名称

检查路径有效性

os.path.exists(path) #判断所指文件或文件夹是否存在
os.path.isfile(path) #判断所指文件是否存在
os.path.isdir(path) #判断所指文件夹是否存在

Window 和 Linux下路径兼容

可参考python中window和linux下路径兼容中所列四个方法。摘录如下:

  1. 使用os.path.join
    path = os.path.join(os.path.split(os.path.realpath(__file__))[0], 'cmds')

  2. 使用os.sep, python会根据不同的系统自动选择合适的路径分隔
    path = os.path.split(os.path.realpath(__file__))[0] + os.sep + 'cmds'

  3. 可以将所有的路径都使用正斜线:’/’, 在windows和linux都有效
    path = path.replace('\\', '/')

  4. 使用最新的pathlib模块

    import pathlib
    pathlib.Path('C:\dir', 'cmds') # WindowsPath('C:/dir/cmds')
    pathlib.Path('C:\dir')/'cmds'  # WindowsPath('C:/dir/cmds')
    
posted @ 2022-04-06 16:03  Oddpage  阅读(1321)  评论(0编辑  收藏  举报