Python - 在Linux上运行的脚本以处理Windows文件路径

5 投票
3 回答
2862 浏览
提问于 2025-04-16 03:52

我有一个脚本,它处理包含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'

撰写回答