最近使用os.system(shell_string)执行外部命令的时候,总会爆出各种奇葩的错误提示,查到最后还是个执行命令的字符串转移问题,比如你执行的命令为
python arg1 arg2 ....
这里arg1里面如果包含了' " &等特殊字符的时候,需要先进行字符串替换
def shellquote(s):
"""
转义字符串
"""
return "'" + s.replace("'", "'\\''") + "'"
这样把你的参数用引号扩起来,然后转移字符串里面的引号就可以了~