将用户设置的变量作为参数传递给os.system()命令
好的,基本上我对Python还很陌生,不过我想为我在工作中使用的基本工具做一个简单的菜单系统,我目前的代码如下:
import os
def main():
print "Main Menu.\n"
print "1. Ping yourself.\n"
print "2. Ping someone else.\n"
opt = raw_input ("Please enter a number:- ")
if opt == "1":
os.system('ping 127.0.0.1')
if opt == "2":
ip = raw_input ("Please enter IP:- ")
os.system('ping'.ip)
main()
现在,这段代码运行得很好,但我在这里这行代码上遇到了问题:
os.system('ping'.ip)
因为我想在命令中使用第10行的变量。希望这个问题能简单解决。
谢谢,
罗斯。
3 个回答
-3
一旦你把它弄得正常工作了,如果用户输入了:
127.0.0.1; rm -rf /
1
你需要在命令和参数之间留一个空格。
7
你需要一个空格,而连接字符串的符号是 +
,不是 .
:
os.system("ping " + ip)
你也可以使用字符串格式化的方法:
os.system("ping %s" % ip)