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

问题描述 投票:0回答:1

为了我的命令

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)]"'

在哪个角色'逃到\'

我该如何禁止这种逃避?

python fabric
1个回答
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)

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

© www.soinside.com 2019 - 2024. All rights reserved.