在python中将反斜杠转换为正斜杠

时间:2010-11-28 15:20:39

标签: python ruby path

您好 我读过有关将向后转换为正斜杠的文章。 但sol是使用原始字符串。

但我的问题是:

我将动态获取文件路径到变量 VAR = 'C:\ dummy_folder \ A.TXT' 在这种情况下,我需要将其转换为正斜杠。 但由于'\ a',我无法转换为正斜杠

如何转换它?或者我应该如何将此字符串更改为原始字符串,以便我可以将其更改为正斜杠

5 个答案:

答案 0 :(得分:12)

不要这样做。只需使用os.path并让它处理所有事情。您不应该显式设置向前或向后斜杠。

>>> var=r'C:\dummy_folder\a.txt'
>>> var.replace('\\', '/')
'C:/dummy_folder/a.txt'

但是,不要。只需使用os.path并快乐!

答案 1 :(得分:11)

还有os.path.normpath(),它根据本地操作系统转换反斜杠和斜杠。有关详细用法信息,请参阅here。你会这样使用它:

>>> string = r'C:/dummy_folder/a.txt'
>>> os.path.normpath(string)
'C:\dummy_folder\a.txt'

答案 2 :(得分:2)

处理路径只是一个字符串可能会让你陷入困境。如果你正在处理的路径是用户输入,或者可能以不可预测的方式变化,那就更多了。

不同的操作系统有不同的方式来表达给定文件的路径,并且每种现代编程语言都有自己的方法来处理路径和文件系统引用。当然Python和Ruby都有它:

如果你真的需要处理字符串:

  • Python:string.replace
  • Ruby:string.gsub

答案 3 :(得分:1)

原始字符串用于字符串文字(直接写在源文件中),这似乎不是这里的情况。在任何情况下,正斜杠都不是特殊字符 - 它们可以嵌入到常规字符串中而不会出现问题。它是通常在字符串中具有其他含义的反斜杠,需要“转义”以便将它们解释为文字反斜杠。

用正斜杠替换反斜杠:

# Python:
string = r'C:\dummy_folder\a.txt'
string = string.replace('\\', '/')

# Ruby:
string = 'C:\\dummy_folder\\a.txt'
string = string.gsub('\\', '/')

答案 4 :(得分:0)

>>> 'C:\\dummy_folder\\a.txt'.replace('\\', '/')
'C:/dummy_folder/a.txt'

在字符串文字中,您需要转义\字符。