Mat*_*mes 1 python directory pygame exec
我有一个非常简单但很难的问题:我没有通过python执行python脚本.
这个想法非常简单,我想构建一种类似于相互关联的"脚本".它会像HTML中的链接一样工作,我有一个不同屏幕的游戏(例如主游戏,设置等),当用户点击"链接"(例如Play游戏)时,它会执行maingame.py主游戏子文件夹中的脚本.
现在出现了问题:我尝试使用exec(open('somescript.py').read())打开其他脚本.但是,"python工作文件夹"不会更改(它不会更改为子文件夹),并且这些脚本中的导入因此而无效.
有人可以建议替代方案吗?
嗯os.chdir(os.path.dirname(script_name_to_run))?...为什么不只是让文件遵循某种框架,在这种框架中,所有文件都有一个run方法或者脚本的东西?然后就像正常一样进口它?这在实践中可能要好得多......
from file2 import run as run1
from file3 import run as run2
import random
[run1,run2][random.randint(0,1)]() # run one of them
Run Code Online (Sandbox Code Playgroud)
def run():
#do whatever
Run Code Online (Sandbox Code Playgroud)
def run():
#do something else
Run Code Online (Sandbox Code Playgroud)