【问题标题】:Python - Make Script to Manipulate Windows File Paths but running on LinuxPython - 制作脚本来操作 Windows 文件路径但在 Linux 上运行
【发布时间】:2023-03-03 18:45:01
【问题描述】:

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

【问题讨论】:

    标签: python windows linux filesystems


    【解决方案1】:

    查看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'
    

    【讨论】:

      【解决方案2】:

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

      os module description

      【讨论】:

        【解决方案3】:

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

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-02-18
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多