完全公開,我對編程完全陌生,所以我提前致歉。我正在研究這個python腳本,它將獲取用戶輸入並在某些操作系統命令(ping,traceroute,whois)中使用該輸入。這是不完整的,但這裏是腳本:python腳本錯誤(編程非常新!)
#!/usr/bin/python
from os import system
def pingz():
system('ping -c 5 %(ab)s' % locals())
def trace_route():
system('traceroute %(cd)s' % locals())
print("My Web Utility:")
print("____________________\n")
print(" 1)Ping a website/IP Address.\n")
print(" 2)Trace the route to a website/IP Address.\n")
print(" 3)Whois inforation.\n")
choice = raw_input("What would you like to do? \n")
if choice == '1':
ab = raw_input("Please enter the Domain Name/IP Address:\n")
pingz()
elif choice == '2':
cd = raw_input("Please enter the Domain Name/IP Address:\n")
trace_route()
我收到兩個錯誤,每個「選擇」。因此,舉例來說,如果我輸入1 I得到一個提示,詢問的域名/ IP地址,當我進入它,我得到的錯誤是:
Traceback (most recent call last):
File "./test2.py", line 19, in <module>
pingz()
File "./test2.py", line 6, in pingz
system('ping -c 5 %(ab)s' % locals())
KeyError: 'ab'
而對於選擇2非常類似的錯誤有什麼問題我如何調用函數?任何人都可以指出我正確的方向嗎?我已經嘗試過這個腳本的小實現(沒有創建自己的函數),沒有其他的/ elif語句,並且它工作正常...很抱歉,很長的文章,並提前感謝!
你需要使用'globals()' –