Как передать переменные в os.system? [закрыто]

Я использую эту команду для вставки переменной:

`os.system("sudo insmod /home/hajer/final_module/module.ko src_ip=" +(R1.get()))`

, и она работает нормально, но когда я добавляю другие переменные, кажется, что она не работает и Я не вставляю переменные.

os.system("sudo insmod /home/hajer/final_module/module.ko src_ip=" +(R1.get())+ "delay=" +(R2.get())+ "tcp_port=" +(R3.get()))
0
задан 16 May 2016 в 22:31

1 ответ

Лучшая вещь в этих случаях состоит в том, чтобы только распечатать строку перед использованием его так, Вы видите, корректно ли все.

command = "sudo insmod /home/hajer/final_module/module.ko src_ip=" +(R1.get())+ "delay=" +(R2.get())+ "tcp_port=" +(R3.get())
print(command)
os.system(command)

Мое предположение, Вы пропускаете пространство перед delay и tcp_port параметры.

command = "sudo insmod /home/hajer/final_module/module.ko src_ip=" +(R1.get())+ " delay=" +(R2.get())+ " tcp_port=" +(R3.get())

Затем очищают вещи немного:

command = "sudo insmod /home/hajer/final_module/module.ko src_ip=%s delay=%s tcp_port=%s" % (R1.get(), R2.get(), R3.get())

Также os.system удерживается от использования, необходимо использовать subprocess модуль вместо этого.

1
ответ дан 17 May 2016 в 08:31

Другие вопросы по тегам:

Похожие вопросы: