说说在 Python 中如何处理文件系统路径
发布时间:2020-01-24 07:48:43 所属栏目:资源 来源:CSDN博客
导读:1 不同 操作系统 分隔符 在 Windows 操作系统中,文件路径以倒斜杠作为文件夹之间的分隔符。但在 OSX 和 Linux 上,使用的则是正斜杠作为路径分隔符。如果希望让程序适配所有操作系统,就会用到 os.path.join() 函数。 运行结果: usrlocalsbin 如果在 O
1 不同操作系统分隔符 在 Windows 操作系统中,文件路径以倒斜杠作为文件夹之间的分隔符。但在 OSX 和 Linux 上,使用的则是正斜杠作为路径分隔符。如果希望让程序适配所有操作系统,就会用到 os.path.join() 函数。 运行结果: usrlocalsbin 如果在 OS X 或 Linux 上调用这个函数, 就会返回 ‘usr/local/sbin’。 2 当前运行环境所在路径与切换路径 利用 os.getcwd() 函数,可以获取当前当前运行环境所在路径。而使用 os.chdir() 可以改变这个路径。 运行结果: F:python_projectsxxxexcelfile C:Program Files 注意: 如果要更改的运行环境所在路径不存在,就会抛出错误: os.chdir('C:not_exist') 运行结果: FileNotFoundError: [WinError 2] 系统找不到指定的文件。: ‘C:not_exist’ 这时,可以使用 os.makedirs() 创建所有必要的中间文件夹,确保路径存在: 运行结果: C:not_exist1 3 路径函数 3.1 os.path 模块路径函数 函数说明 os.path.abspath(path)返回 path 的绝对路径。适用于将相对路径转换为绝对路径。 os.path.isabs(path)如果 path 是绝对路径,就返回 True;否则返回 False。 os.path.relpath(path, start)返回从 start 路径到 path 的相对路径。如果没有提供 start 参数,则使用当前运行目录作为开始路径。 os.path.basename(path)返回 path 参数中最后一个斜杠之后的所有内容。 os.path.dirname(path)返回 path 参数中最后一个斜杠之前的所有内容。 os.path.split(path)返回路径中的目录与名称元组。 os.path.exists(path)是否存在 path 路径。 os.path.isfile(path)path 路径存在,并且是文件。 os.path.isdir(path)path 路径存在,并且是文件夹。 3.2 相对路径与绝对路径 运行结果: C:Program Files C:Program FilesCommon Files False True 因为首先使用 os.chdir() 把当前路径切换到了 C:Program Files,所以调用 os.path.abspath() 时, 当前运行所在目录是 C:Program Files, 所以“ 点” 的相对路径表示法所对应的绝对路径就是 C:Program Files。 3.3 返回从 start 路径到 path 的相对路径 print(os.path.relpath('C:Program Files','C:')) print(os.path.relpath('C:Program Files','C:windowsaddins')) 运行结果: Program Files …Program Files 3.4 获取路径中的目录与名称 运行结果: index.html C:Program FilesCommon FilesAdobeCEPextensionsLogiOptionsAdobe (‘C:Program FilesCommon FilesAdobeCEPextensionsLogiOptionsAdobe’, ‘index.html’) 注意: 如果需要返回路径中的每一部分的名称列表,os.path.split(path) 就不适用啦。我们可以使用 split() 方法来实现: print(path.split(os.path.sep)) 运行结果: [‘C:’, ‘Program Files’, ‘Common Files’, ‘Adobe’, ‘CEP’, ‘extensions’, ‘LogiOptionsAdobe’, ‘index.html’] 3.5 路径验证 运行结果: (编辑:滁州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |