如何从input()导入文件



我正在编写一个小程序,您可以在应用程序中添加不同的插件。

(不完整(代码:

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])

最新更新