2017-02-26 7 views
1

私はPythonの新機能です。私はhello.pyコマンドに問題があります。それは私に次のエラーを与える:hello.pyトレースバックでのPythonエラー

C:\Users\Admin>python hello.py 
Traceback (most recent call last): 
    File "hello.py", line 1 in <module> 
     if _name_ == "_main_": 
NameError: name '_name_' is not defined 
+2

使用ダブルアンダースコアだけではなく、1: '__name__'など –

+1

素晴らしいですそれ!ありがとう - それは完全に働いた! –

+1

@ tonya-nicholsあなたは良いansverを持っています。しかし、あなたのhello.pyを表示すると良いでしょう –

答えて

2

はあなたのhello.pyでこれを入れてみてください:

つまり

def myfunction(): 
    print "hello!" 

if __name__ == "__main__": 
    myfunction(): 

あなたが機能でhello.pyスクリプトを持っているコードを囲みラッパー(上の例ではmyfunction())。今コマンドラインからhello.pyを実行する際に、myfunction()if __name__ == "__main__":部分によって呼び出されます)


Here's別の方法

あなたは別のPythonスクリプトでPythonモジュールとしてimport hello.pyにしたい場合は、 anotherPython.pyと言ってください。空のファイルをhello.pyと同じディレクトリに置きます。名前は正確には__init__.pyです。次にanotherPython.pyに次のように書いてください。

import hello 
hello.myfunction() 

これで「hello!」と表示されます。 Pythonで実行されたとき

+0

@ TonyaNichols私は2つの可能性を提供してくれました。しかし、私は、今のところ、Stack Overflowへの移行の問題を警告しています。あなたの質問から感傷的な言葉を削除しようとしました。 –

2

は2を使用してみてくださいので、前と後の名称と主なアンダースコア:

__name__ 

そして

__main__ 
関連する問題