我有一个包含主脚本的项目文件。此外,我还有一个子目录,其中包含我想在不同时间导入的脚本。这就是这条路的样子。\\projectPath\\data\\scripts\\
然后我有一个__init__.py
文件和一个名为Snake.py
的脚本,我正试图用importlib将Snake脚本导入我的主脚本。这就是我尝试过的:
class RunScript:
gameBar = False
Title = None
script = None
username = None
display = None
scriptFolder = None
#importlib.import_module(name)
def importScript(args):
self = args[0]
self.Title = args[1]
orgiPath = os.path.abspath(os.path.dirname(sys.argv[0]))
if args[2] == 'games':
self.scriptFolder = str(orgiPath) + '\\data\\Game_%s' % self.Title
else:
self.scriptFolder = str(orgiPath) + '\\data\\Program_%s' % self.Title
path = str(orgiPath) + '\\data\\scripts'
os.chdir(path)
print(os.listdir())
self.script = importlib.import_module('Snake')
我在python shell中尝试了以下基本方法:
>>> import importlib, os
>>> path = 'C:\\Users\\26099\\Desktop\\DashProject\\data\\scripts'
>>> os.chdir(path)
>>> os.listdir()
['Snake.py', '__init__.py', '__pycache__']
>>> s = importlib.import_module('Snake')
通过pythonshell导入我的脚本可以很好地工作。问题是,当我运行RunScript类时,我无法导入模块,并且收到以下错误:ModuleNotFoundError: No module named 'Snake'
,即使它在显示目录中的所有内容时显示Snake脚本。我不知道为什么它在pythonshell中工作得很好,但是我在主程序中的代码不想导入该文件。我的主要程序是在scripts文件夹中查找与某种用户输入匹配的脚本。因此,如果用户键入一个脚本的名称,我希望能够导入它
目前没有回答
相关问题 更多 >
编程相关推荐