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下路径兼容中所列四个方法。摘录如下:
-
使用os.path.join
path = os.path.join(os.path.split(os.path.realpath(__file__))[0], 'cmds')
-
使用os.sep, python会根据不同的系统自动选择合适的路径分隔
path = os.path.split(os.path.realpath(__file__))[0] + os.sep + 'cmds'
-
可以将所有的路径都使用正斜线:’/’, 在windows和linux都有效
path = path.replace('\\', '/')
-
使用最新的pathlib模块
import pathlib pathlib.Path('C:\dir', 'cmds') # WindowsPath('C:/dir/cmds') pathlib.Path('C:\dir')/'cmds' # WindowsPath('C:/dir/cmds')