2012-01-03 52 views
1

好吧,所以基本上我在Python中很新,但是,我想爲所有基本工具製作一個簡單的菜單系統I在工作中使用我的代碼到目前爲止是如下所示:將由用戶設置的變量作爲os.system()命令的參數傳遞

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行。希望這是一個簡單的解決方案。

謝謝,

羅斯。

回答

1

你需要在命令和參數之間有一個空格。

6

你需要一個空間,字符串連接運算符是+,不.

os.system("ping " + ip) 

你也可以使用字符串格式化:

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

謝謝,我得到了 – RossDoughty 2012-01-03 16:43:14

+0

臨時ñ接受他的回答 – RanRag 2012-01-03 16:46:11

-2

一旦你得到它的正常工作,會發生什麼如果用戶輸入:

127.0.0.1; rm -rf/
+0

不要這樣做......如果他不知道這個命令是什麼...... – 2012-01-03 18:12:48

相關問題