运行一个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()