2016-12-14 6 views
0

基本的に私はTower Defenceゲームを作っています。私はroundyを持つenemy.pyと呼ばれるPythonファイルを持っています。私はround.pyというファイルを持っています画面。私は、round.pyが一巡するたびにenemy.pyを実行したいが、2回目にエラーが出る。私は他のファイルを開くためにインポート関数を使用しています。さらに、誰かが私の手助けをして、エラーがそれほど大きくないようにすることができます。私はとても混乱しています!ファイルから複数回Pythonファイルを実行する

Traceback (most recent call last): 
    File "H:\ICT\A level\Computing\Tower Defense Code\main.py", line 62, in <module> 
    createMenu() 
    File "H:\ICT\A level\Computing\Tower Defense Code\main.py", line 9, in  createMenu 
    newRound() 
    File "H:\ICT\A level\Computing\Tower Defense Code\main.py", line 23, in  newRound 
    cancelLoop() 
    File "H:\ICT\A level\Computing\Tower Defense Code\main.py", line 38, in  cancelLoop 
    startRound() 
    File "H:\ICT\A level\Computing\Tower Defense Code\main.py", line 41, in  startRound 
    import enemy.py 
    File "H:\ICT\A level\Computing\Tower Defense Code\enemy.py", line 107, in  <module> 
    enemy.draw(screen) 
    File "H:\ICT\A level\Computing\Tower Defense Code\enemy.py", line 35, in  draw 
    life(self) 
    File "H:\ICT\A level\Computing\Tower Defense Code\enemy.py", line 55, in  life 
    import main.py 
    File "H:\ICT\A level\Computing\Tower Defense Code\main.py", line 62, in  <module> 
    createMenu() 
    File "H:\ICT\A level\Computing\Tower Defense Code\main.py", line 9, in  createMenu 
    newRound() 
    File "H:\ICT\A level\Computing\Tower Defense Code\main.py", line 23, in  newRound 
    cancelLoop() 
    File "H:\ICT\A level\Computing\Tower Defense Code\main.py", line 38, in  cancelLoop 
    startRound() 
    File "H:\ICT\A level\Computing\Tower Defense Code\main.py", line 41, in startRound 
    import enemy.py 
ImportError: No module named 'enemy.py'; 'enemy' is not a package 

+1

サンプルコードを失敗/最小限の作業を表示してください - それは初回のみでどのようにPythonの輸入を探して、また参考になるように見えます... – Dilettant

+1

一度だけインポートする必要があります。あなたは 'import enemy'と入力しないでください' import enemy.py' –

答えて

4

まずの.pyファイル拡張子をドロップします。構文はちょうどです:これはenemy.pyですべてのコードを実行します

import enemy 

(想定enemy.pyはPythonに知られているパスにあります)。

あなたは、このプロセスを繰り返したい場合は、使用するコマンドは次のとおりです。

reload(enemy) 

これはしかしモジュールを使用するための素晴らしい方法ではありません。あなたは敵の内部で関数を作成し、それを直接呼び出す方がいいでしょう:

import enemy 
enemy.enemy() 
+0

ありがとう –

関連する問題