我目前正在考虑Popen
自动化压缩&存储文件。
对于压缩部分,我想到了以下Python行:
subprocess.Popen("WinRAR.exe a -r c:\\03. Notes\\AllTexts *.txt", shell=True)
我一直有错误消息,因为该命令无法处理包含空格(03. Notes
)的文件夹名称。
这个问题在几次之前被问过,而且,我必须说我尝试了所有的命题:原始字符串,双引号,三引号,......它们都没有奏效。
由于我无法更改文件夹名称,并且我没有更多想法可以尝试,有人可以建议我怎样才能成功通过此命令行?
答案 0 :(得分:1)
在Windows中,您应该使用引号作为文件名或目录名(如果您想在其中使用空格)。在Python中,您应该使用\符号来转义引号(如果您在"引号中使用字符串)。像这样:
"my name is \"Mark\"!"
或者只是:
'my name is "Mark"!'
所以这将按预期工作:
subprocess.Popen("WinRAR.exe a -r \"c:\\03. Notes\\AllTexts\" *.txt", shell=True)
以及:
subprocess.Popen('WinRAR.exe a -r "c:\\03. Notes\\AllTexts" *.txt', shell=True)