def OnClick(self,event):
print "a:", a
os.system('iperf -s -w a')
Здесь a отображается правильно. Но в команде os.system
значение a принимается как 0. Не могли бы вы мне помочь?Внешняя команда от python
def OnClick(self,event):
print "a:", a
os.system('iperf -s -w a')
Здесь a отображается правильно. Но в команде os.system
значение a принимается как 0. Не могли бы вы мне помочь?Внешняя команда от python
Вы не передаёте значение a
, но вы проходите мимо a
как есть. Таким образом, вы можете захотеть сделать это
os.system('iperf -s -w {}'.format(a))
Теперь значение a
будет заменен на {}
. Вы можете увидеть разницу между двумя версиями, печатая их
print 'iperf -s -w {}'.format(a)
print 'iperf -s -w a'
поблагодарить u..got it .. Не могли бы вы рассказать мне о других способах вызова внешней команды, и вывод команды также должен отображаться. – user3131595
@ user3131595 Возможно, вы захотите посмотреть ['subprocess.check_output'] (http://docs.python.org/2/library/subprocess.html#subprocess.check_output) – thefourtheye
@ user3131595 Пожалуйста, подумайте о принятии этого ответа, если он поможет вам: http://meta.stackexchange.com/a/5235/235416 – thefourtheye
os.system('iperf -s -w a')
принимает буквальное а и не значение переменной. Я хотел бы использовать:
cmd = 'iperf -s -w %d' %a
os.system (cmd)
Попробуйте создать эту команду отдельно, чтобы избежать таких ошибок. Что-то вроде или если 'a' всегда является строкой, вы также можете использовать% s. –
mrutyunjay