【问题标题】:Running a python file from a file multiple times多次从文件运行 python 文件
【发布时间】:2017-04-29 22:56:30
【问题描述】:

基本上我正在制作一个塔防游戏,我有一个名为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

【问题讨论】:

  • 请显示最少的工作/失败示例代码 - 看起来它也会有帮助,只在第一次查看 python 导入的方式......
  • 您只需导入一次。你输入 import enemy 而不是 import enemy.py

标签: python list class pygame instance


【解决方案1】:

首先去掉 .py 文件后缀。语法就是:

import enemy

这将运行敌人.py 中的所有代码(假设敌人.py 位于 Python 已知的路径中)。

如果你想重复这个过程,使用的命令是:

reload(enemy)

虽然这不是使用模块的好方法。你最好在敌人内部创建一个函数并直接调用它:

import enemy
enemy.enemy()

【讨论】:

  • 非常感谢,这很有帮助
猜你喜欢
  • 2019-05-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-11-14
  • 1970-01-01
  • 1970-01-01
  • 2012-06-24
  • 1970-01-01
相关资源
最近更新 更多