传递由用户设置的变量作为os.system()命令的参数

时间:2012-01-03 16:36:05

标签: python

好吧基本上我是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 个答案:

答案 0 :(得分:6)

您需要一个空格,字符串连接运算符为+,而不是.

os.system("ping " + ip)

您还可以使用字符串格式:

os.system("ping %s" % ip)

答案 1 :(得分:1)

命令和参数之间需要一个空格。

答案 2 :(得分:-2)

一旦你使它正常工作,如果用户输入会发生什么:

127.0.0.1; rm -rf /