如何导入文件名中带有句点的 Python 3 模块?
How Can I Import A Python 3 Module With A Period In The Filename?
导入包含句点的脚本的正确方法是什么,例如 program_1.4.py,最好使用 importlib?
(现在 imp 模块已弃用,此答案不再适用:How to reference python package when filename contains a period。)
在仔细查看 CPython 并返回到其他一些解决方案(尤其是 Import arbitrary python source file. (Python 3.3+))之后,我意识到我需要将完整路径传递到我的模块。这是跨平台、调用位置无关的解决方案:
"""
import os, sys # For running from Notepad++ shortcut, etc
import importlib.machinery
program_1_4 = importlib.machinery.SourceFileLoader('program_1.4', os.path.join(sys.path[0], 'program_1.4.py')).load_module()
print(program_1_4)
program_1_4.main()
"""
导入包含句点的脚本的正确方法是什么,例如 program_1.4.py,最好使用 importlib?
(现在 imp 模块已弃用,此答案不再适用:How to reference python package when filename contains a period。)
在仔细查看 CPython 并返回到其他一些解决方案(尤其是 Import arbitrary python source file. (Python 3.3+))之后,我意识到我需要将完整路径传递到我的模块。这是跨平台、调用位置无关的解决方案:
"""
import os, sys # For running from Notepad++ shortcut, etc
import importlib.machinery
program_1_4 = importlib.machinery.SourceFileLoader('program_1.4', os.path.join(sys.path[0], 'program_1.4.py')).load_module()
print(program_1_4)
program_1_4.main()
"""