使用子流程.Popen(shell=True)使用windows文件夹

2024-07-05 14:17:00 发布

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

我目前正在研究Popen来自动压缩和存储文档。在

对于压缩部分,我想到了以下Python行:

subprocess.Popen("WinRAR.exe a -r c:\\03. Notes\\AllTexts *.txt", shell=True)

我一直收到错误消息,因为命令无法处理包含空格(03. Notes)的文件夹名。 这个问题被问了好几次,而且,我必须说我试过所有的命题:原始字符串、双引号、三引号。。。他们都没用。在

由于我无法更改文件夹名称,而且我也没有更多的想法可以尝试,有人能告诉我如何才能成功地传递这个命令行?在


Tags: 文档命令txt文件夹true消息错误shell
1条回答
网友
1楼 · 发布于 2024-07-05 14:17:00

在Windows中,文件名或目录名应该用引号(如果你想在里面用空格)。在Python中,应该用\symbol转义引号(如果在“引号”中使用字符串)。像这样:

"my name is \"Mark\"!"

或者只是:

^{pr2}$

因此,这将如预期的那样工作:

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)

相关问题 更多 >