完全に公開されていますので、私はプログラミングに全く興味がありませんので、事前にお詫び申し上げます。私は、特定のOSコマンド(ping、traceroute、whois)でその入力を使用し、その入力を使用するこのpythonスクリプトに取り組んでいます。完全ではありませんが、スクリプトは次のとおりです。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()
「選択肢」ごとに2つのエラーが表示されます。
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.のために非常に類似したエラーが間違っているものがある:私は1を入力するのであれば、たとえば私は、プロンプトがドメイン名/ IPアドレスを尋ねると、私はそれを入力したときに、私が手にエラーがあり得ます私はどのように関数を呼び出しているのですか?誰かが正しい方向に私を向けることができますか?私はこのスクリプトの小さな実装(自分の関数を作成することなく)を試みましたが、他に/ elifのステートメントはありません。それはうまくいきます...長いポストと申し訳ありません!
あなたは 'globals()'を使用する必要があります –