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