Python - 在Linux上运行的脚本以处理Windows文件路径
我有一个脚本,它处理包含Windows文件路径的行。不过,这个脚本是在Linux上运行的。有没有办法在Linux上运行时,使用os库来处理Windows的文件路径呢?
我在想可以这样做:
import os
os.pathsep = '\\'
(但这不管用,因为os.pathsep的值是;,不知道为什么)
我的脚本:
for line in INPUT.splitlines():
package_path,step_name = line.strip().split('>')
file_name = os.path.basename(package_path)
name = os.path.splitext(file_name)[0]
print template % (name,file_name,package_path)
3 个回答
1
os.pathsep 是用来分隔 PATH 环境变量的符号。你其实应该用 os.sep。
虽然我通常不建议你随便修改模块里的数据,但如果这样做能满足你的需求,那也可以。或者,你可以自己实现 basename 功能,比如可以用 package_path.split('\\')[-1]
这样的代码。
3
试着使用 os.sep = '\\'
。这里的 os.pathsep 是用来分隔操作系统中搜索路径(也就是 PATH 环境变量)的符号。
可以查看 os 模块的说明。
7
看看这个ntpath模块
在Linux上,我这样做了:
>> import ntpath
>> ntpath.split("c:\windows\i\love\you.txt")
('c:\\windows\\i\\love', 'you.txt')
>> ntpath.splitext("c:\windows\i\love\you.txt")
('c:\\windows\\i\\love\\you', '.txt')
>> ntpath.basename("c:\windows\i\love\you.txt")
'you.txt'