有什么方法可以告诉Python不要在带有反斜杠的字符串中添加额外的反斜杠?

时间:2019-06-02 08:55:11

标签: python-3.x

代码示例:

a = '\ '
a
Output: '\\ '

例如,尝试将此路径用于子流程。

b = '/tmp/test file'
cmd = ['ls', b]
cmd
Output: ['ls', '/tmp/test file']

然后您将意识到,您需要按照以下一些答案中的建议使用反斜杠,否则,您只会得到一部分文件名。非常感谢专家@Wovano。 让我们做到这一点:

b = '/tmp/test\ file'
cmd = ['ls', b]
cmd
Output: ['ls', '/tmp/test\\ file']

我们在这里。现在,您有两个反斜杠,因此文件名无效。因此,所有建议的想法(@ wovano,@ rdas)将无法正常工作。

1 个答案:

答案 0 :(得分:1)

字符串中的反斜杠表示转义字符。由于像换行符这样的字符在字符串中编码为\n。为了避免与转义字符混淆,反斜杠字符编码为\\。不用担心,您的字符串尚未重新格式化,执行print(‘\\ ‘)仍将返回\

对于文件路径,我建议不要使用显式正斜杠。使用os.path.join将使您的模块在所有平台上都能正常工作,并且错误更少。