我有一个非常简单但又困难的问题:我不是要通过 python 执行 python 脚本。
想法很简单,我想构建一种类似环环相扣的“脚本”。它就像 HTML 中的链接一样工作,我有一个具有不同屏幕的游戏(例如主游戏、设置等),当用户单击“链接”(例如玩游戏)时,它将执行 maingame.py主游戏子文件夹中的脚本。
现在问题来了:我尝试使用 exec(open('somescript.py').read()) 打开其他脚本。然而,“python 工作文件夹”没有改变(它没有改变到子文件夹),因此这些脚本中的导入不起作用。
谁能提出替代方案?
请您参考如下方法:
ummm os.chdir(os.path.dirname(script_name_to_run))? ... 为什么不让文件遵循某种框架,在这些框架中,它们都具有 run 方法或执行脚本的方法?然后像往常一样导入它?这在实践中可能要好得多......
文件1.py
from file2 import run as run1
from file3 import run as run2
import random
[run1,run2][random.randint(0,1)]() # run one of them
文件2.py
def run():
#do whatever
文件3.py
def run():
#do something else
