假设我有一个包含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
原因是(我认为)当Linux的Linux实现期望Linux本地文件地址格式并且不知道Windows地址时.让手动解析地址,是否有其他解决方案,以便我得到统一的结果?
Python有多个os.path
模块实现,如果你很幸运,你的python可能配备了ntpath
模块:
>>> import ntpath >>> ntpath.basename(r'C:\TEMP\filename.txt') 'filename.txt'
根据os.path文档:
由于不同的操作系统具有不同的路径名约定,因此标准库中有该模块的多个版本.该
os.path
模块始终是适用于Python运行的操作系统的路径模块,因此可用于本地路径.但是,如果要操作始终采用不同格式之一的路径,也可以导入和使用单个模块.它们都具有相同的界面:
posixpath
对于UNIX风格的路径
ntpath
对于Windows路径