代码示例:
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)将无法正常工作。
答案 0 :(得分:1)
字符串中的反斜杠表示转义字符。由于像换行符这样的字符在字符串中编码为\n
。为了避免与转义字符混淆,反斜杠字符编码为\\
。不用担心,您的字符串尚未重新格式化,执行print(‘\\ ‘)
仍将返回\
。
对于文件路径,我建议不要使用显式正斜杠。使用os.path.join
将使您的模块在所有平台上都能正常工作,并且错误更少。