假设我有一个包含 Windows 文件地址的字符串,比方说
local_address = "C:\\TEMP\\filename.txt"
从我使用的上述地址检索文件名
import os
filename = os.path.basename(local_address)
在 Windows 中,当我运行代码时,输出是
>>> print filename
filename.txt
但是当在linux中运行代码时我得到
>>> print filename
C:\TEMP\filename.txt
原因是(我认为是)当Python的Linux实现期望Linux本地文件地址格式并且不知道Windows地址时。单独手动解析地址,是否有其他解决方案可以得到统一的结果?
Python有多种实现os.path
模块,如果你幸运的话,你的 python 可能会配备ntpath
module:
>>> import ntpath
>>> ntpath.basename(r'C:\TEMP\filename.txt')
'filename.txt'
根据os.path https://docs.python.org/2/library/os.path.html文档:
由于不同的操作系统有不同的路径名约定,因此标准库中有该模块的多个版本。这os.path
module 始终是适合 Python 运行的操作系统的路径模块,因此可用于本地路径。但是,如果您想要操作始终采用不同格式之一的路径,您也可以导入和使用各个模块。它们都有相同的界面:
-
posixpath
对于 UNIX 风格的路径
-
ntpath
对于 Windows 路径
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)