簡體   English   中英

將 subprocess.Popen (shell=True) 與 windows 文件夾一起使用

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM