【问题标题】:Inverting path in string with escaped spaces使用转义空格反转字符串中的路径
【发布时间】:2017-02-24 22:52:00
【问题描述】:

我需要将字幕路径传递给 VLC,它只需要原生路径(Windows 上的反斜杠,Unix 上的正斜杠)并且需要空间转义。

假设我有一个 Qt 原生路径,其中包含一个空格。

C:/Users/Thinkpad/Downloads/test file.srt

如何将其转换为:

C:\\Users\\Thinkpad\\Downloads\\test\ file.srt

【问题讨论】:

  • 只需将双引号括起来。省去你的麻烦。
  • VLC 不支持。
  • 好的,抱歉。什么背景?
  • 我需要将一个字符串传递给 VLC 的 --sub-path=FILE 参数。它必须是本机路径(Windows 上的"\")并且必须转义空格。
  • @Gala。但是你是如何准确地调用这个命令的?显示一些重现问题的实际代码。

标签: python windows path escaping


【解决方案1】:

为了解决这个问题,我强烈建议使用

os.path.normpath('C:/Users/Thinkpad/Downloads/test file.srt')

如果您使用正斜杠输入所有文件名字符串,然后让os.path.normpath(path) 为您将它们更改为反斜杠,这样。

【讨论】:

    【解决方案2】:

    不确定标准库中是否有任何东西可以处理这个问题,但如果它只是斜线和空格,你需要一个简单的字符串替换会更快更简单。即

    path = path.replace('/','\\').replace(' ','\ ')
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-12-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-27
      • 2013-08-01
      相关资源
      最近更新 更多