Passing a variable, set by the user, as a parameter for a os.system() command
好吧,所以基本上我对python比较陌生,但是,我想为我在工作中使用的所有基本工具制作一个简单的菜单系统,到目前为止我的代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | import os def main(): print"Main Menu. " print"1. Ping yourself. " print"2. Ping someone else. " 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() |
现在,一切都很好,但是我似乎被困在这条线上:
1 | os.system('ping'.ip) |
因为我想在命令中使用第10行的变量。希望这是一个简单的解决办法。
谢谢,
罗斯。
您需要一个空格,字符串连接运算符是
1 | os.system("ping" + ip) |
还可以使用字符串格式:
1 | os.system("ping %s" % ip) |
在命令和参数之间需要一个空格。
一旦你让它正常工作,如果用户输入:
1 | 127.0.0.1; rm -rf / |