我正在编写一个小程序,您可以在应用程序中添加不同的插件。
(不完整(代码:
external_python_script = input('Full Filename: ')
import external_python_script
比方说,如果输入是mytestfile.py,而它的内容只是
print('Hello World!')
然后当我运行主程序时,它应该打印到控制台。
我得到一个语法错误
Traceback (most recent call last):
File "/Users/censored/Desktop/pyproject/1/main.py", line 67, in <module>
import external_python_script
ModuleNotFoundError: No module named 'external_python_script'
这很烦人,因为文件在同一个目录中,当我执行import another_file_in_directory
时,它可以工作。
感谢您的帮助/反馈。
导入不适用于变量。您需要使用不同的库通过input()
导入,请参阅importlib
:https://docs.python.org/3/library/importlib.html
你可以用这样的东西来完成:
import importlib
importlib.import_module(input('Full Filename: '))
尽管使用上面的代码,由于用户在输入文件扩展名和名称时可能会出现错误。
ModuleNotFoundError:没有名为'b.py';'的模块b'不是包裹
下面提供了一个解决方法,我们只需删除扩展。
import importlib
importlib.import_module(input('Full Filename: ').split('.')[0])