[英]Adding escape characters to python string
我有一個要傳遞給程序或bash腳本的文件名。 例如,如果它是my car's picture.jpg
,則必須將其更改為my\\ car\\'s picture.jpg
,才能像show my\\ car\\'s picture.jpg
一樣傳遞給os.system。 是否具有自動執行反斜杠的功能?
您應該使用subprocess
模塊從Python調用Shell腳本。 然后,您不必擔心自己逃脫。
import subprocess
subprocess.call(['script_name', "my car's picture.jpg"])
subprocess.call()
將為您正確地轉義所有內容。 如果需要讀取Shell腳本的輸出,請改用subprocess.check_output()
。
我可以提供一些對您有幫助的不完整建議。
使用"my car's picture.jpg"
-雙引號轉義單引號
在UNIX文件系統中使用空格只會產生麻煩。 您可以在雙引號內傳遞文件名。
os.system('cp "my car\'s picture" myCarPicture.jpg')
如果在Windows系統中使用帶反斜杠的文件名,請使用原始字符串
r"C:\\Foo\\bah\\baz.jpg"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.