Python“\\”和“\”可互换?

时间:2018-04-07 23:43:46

标签: python python-2.7 subprocess

我不知道为什么会这样,所以我不知道如何解决它,如果我的问题不清楚请问,我会澄清。我在一个32位的窗口上运行python2.7。

我有一个列表“命令”

commands = ['open', 'C:\\Users\\Me\\Videos\\manimmedia\\animations\\example_scenes\\1080p60\\SquareToCircle.mp4']

当我打印commands[-1]时,我

'C:\Users\Me\Videos\manimmedia\animations\example_scenes\1080p60\SquareToCircle.mp4'

"\\"变成单斜杠"\",但当我把它放回去时,它再次成为“\”。

因此,当我运行Windows时,在运行代码时看不到该路径,因此它给出了一个     “WindowsError:[错误2]系统找不到指定的文件”

如何将双斜杠替换为单斜杠?

修改

当我将命令作为参数包含时,是否发送带有单反斜杠的命令或带有双斜杠的命令? 基本上是字符串处理方式不同还是两者都相同?

1 个答案:

答案 0 :(得分:3)

在Python字符串文字中,反斜杠字符具有特殊含义,称为转义字符。它用于为所谓的'转义序列添加前缀'。例如,\n是一个转义序列,用于在字符串中插入换行符。您可以在此处找到有关这些序列的更多信息:string-and-bytes-literals

有时候就像你的情况一样,你希望你的字符串文字包含实际的反斜杠字符。要做到这一点,你必须使用另一个反斜杠来逃避反斜杠:"\\"。这会产生一个包含单个反斜杠字符的字符串,这是您正在观察的内容。

如果您不想在所有文件路径中插入双反斜杠,可以执行@ 138建议的操作并使用原始字符串文字(前缀为r:r'Raw string')。原始字符串文字会忽略任何看起来像转义序列的内容,并将每个字符视为其字面值。