我正在使用此命令插入变量:
`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()))
答案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
我猜你在and参数之前缺少一个空格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
模块来代替。