簡體   English   中英

將轉義字符添加到python字符串

[英]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()

你可以簡單地按原樣傳遞和使用的子進程os.system折舊。

c = check_output(["file","/home/padraic/Pictures/my cars' picture.png"])
print(c)
b"/home/padraic/Pictures/my cars' picture.png: PNG image data, 1366 x 768, 8-bit/color RGB, non-interlaced\n"

要調用腳本中使用check_call ,如果你想管就可以使用Popen ,有很多例子在上面,包括鏈接的文檔替換-OS系統

我可以提供一些對您有幫助的不完整建議。

使用"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.

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