Python - 制作脚本来操纵Windows文件路径但在Linux上运行

时间:2010-09-08 18:11:01

标签: python windows linux filesystems

我有这个脚本处理包含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 个答案:

答案 0 :(得分: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'

答案 1 :(得分:3)

尝试使用os.sep = '\\'。 os.pathsep是用于在os上分隔搜索路径(PATH环境变量)的分隔符。

请参阅os module description

答案 2 :(得分:1)

os.pathsep是用于PATH环境变量的分隔符。你正在寻找os.sep。

虽然我一般会建议不要在这样的模块中更改数据,但它可能适合您的需求。或者,您可以自己实现基本名称,例如package_path.split('\\')[-1]