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

2024-09-24 20:25:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我不知道为什么会这样,所以我不知道如何解决它,如果我的问题不清楚,请问,我会澄清。我在32位windows上运行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]系统找不到指定的文件”

如何将双斜杠替换为单斜杠?你知道吗

编辑

当我包含command作为参数时,它是发送带有单反斜杠的参数还是发送带有双斜杠的参数? 基本上,字符串的处理方式是不同的还是完全相同?你知道吗


Tags: 命令参数examplewindowsusersvideoscommandsmp4
1条回答
网友
1楼 · 发布于 2024-09-24 20:25:23

在Python字符串文本中,反斜杠字符具有特殊含义,称为转义字符。它被用来作为“转义序列”的前缀。例如,\n是将换行符插入字符串的转义序列。您可以在这里找到关于这些序列的更多信息:string-and-bytes-literals。你知道吗

有时就像您的例子一样,您希望字符串文字包含实际的反斜杠字符。要做到这一点,必须用另一个反斜杠来转义这个反斜杠:"\\"。这将导致一个字符串包含一个反斜杠字符,这就是您所观察到的。你知道吗

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

相关问题 更多 >