python fabric run(命令)命令转义'更改为\'?

时间:2019-03-25 14:12:40

标签: python fabric

对于我的命令

command = '''/home/andy/Documents/python_project/ebaysdk/bin/python3 -u /home/andy/Documents/python_project/ebaysdk/myprogram/run_collectiondata_a.py "[('CCIYU', 'EBAY-MOTOR', 1371602535, 20954)]"'''

我使用Python Fabric运行它

con.run('''%s''' % (command))

但是有一个错误,“转义为\”

Command: '/home/andy/Documents/python_project/ebaysdk/bin/python3 -u /home/andy/Documents/python_project/ebaysdk/myprogram/run_collectiondata_a.py "[(\'CCIYU\', \'EBAY-MOTOR\', 1371602535, 20954)]"'

其中字符'被转义为\'

我如何禁止此类转义?

1 个答案:

答案 0 :(得分:0)

问题出在字符串中使用了两种引号,尤其是因为字符串'由'(不需要3)包含一些'。
尝试使用(未选中,因为我没有设置con命令):

command = "/home/andy/Documents/python_project/ebaysdk/bin/python3 -u /home/andy/Documents/python_project/ebaysdk/myprogram/run_collectiondata_a.py \"[('CCIYU', 'EBAY-MOTOR', 1371602535, 20954)]\""
con.run(command)

command已经是一个字符串,应该被con接受。使用外部“和内部\”应该保护最内部的'