我将如何从 input() 导入文件

How would I import a file from an 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 它有效。

感谢任何help/feedback。

导入不适用于变量。您将需要使用不同的库通过 input() 导入,请参阅 importlibhttps://docs.python.org/3/library/importlib.html

你可以这样完成:

import importlib
importlib.import_module(input('Full Filename: '))

虽然上面的代码可能会由于用户输入文件扩展名和名称而发生错误。

ModuleNotFoundError: No module named 'b.py'; 'b' is not a package

下面提供了解决此问题的方法,我们只是删除了扩展程序。

import importlib
importlib.import_module(input('Full Filename: ').split('.')[0])