![](/img/trans.png)
[英]Windows subprocess.Popen a batch file without shell=True
[英]Using subprocess.Popen (shell=True) with windows folders
我目前正在尋找Popen
來自動化文檔的壓縮和存儲。
對於壓縮部分,我想到了以下 Python 行:
subprocess.Popen("WinRAR.exe a -r c:\\03. Notes\\AllTexts *.txt", shell=True)
我不斷收到錯誤消息,因為該命令無法處理包含空格的文件夾名稱( 03. Notes
)。 這個問題之前被問過幾次,而且,我必須說我嘗試了所有的命題:原始字符串、雙引號、三引號……它們都不起作用。
由於我無法更改文件夾名稱,並且我沒有更多的想法可以嘗試,有人可以建議我如何成功通過此命令行嗎?
在 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)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.