运行一个python个文件多次从一个文件
Running a python file from a file multiple times
基本上我正在制作塔防游戏,我有一个名为 enemy.py 的 python 文件,里面有回合,还有一个名为 main.py 的文件,它是圆形屏幕。我希望 main.py 在每一轮结束后执行 enemy.py 但它第二次给我一个错误。我正在使用导入功能打开其他文件。另外谁能帮我弄一下,这样误差就不会那么大了,我很困惑!
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
先去掉.py文件后缀。语法只是:
import enemy
这将 运行 enemy.py 中的所有代码(假设 enemy.py 位于 Python 已知的路径中)。
如果您想重复这个过程,要使用的命令是:
reload(enemy)
虽然这不是使用模块的好方法。你最好在 enemy 中创建一个函数并直接调用它:
import enemy
enemy.enemy()
基本上我正在制作塔防游戏,我有一个名为 enemy.py 的 python 文件,里面有回合,还有一个名为 main.py 的文件,它是圆形屏幕。我希望 main.py 在每一轮结束后执行 enemy.py 但它第二次给我一个错误。我正在使用导入功能打开其他文件。另外谁能帮我弄一下,这样误差就不会那么大了,我很困惑!
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
先去掉.py文件后缀。语法只是:
import enemy
这将 运行 enemy.py 中的所有代码(假设 enemy.py 位于 Python 已知的路径中)。
如果您想重复这个过程,要使用的命令是:
reload(enemy)
虽然这不是使用模块的好方法。你最好在 enemy 中创建一个函数并直接调用它:
import enemy
enemy.enemy()