你能保证永远是可输入的吗?

2024-03-29 07:43:00 发布

您现在位置:Python中文网/ 问答频道 /正文

是否存在以下情况:

import __main__

可能导致ImportError?我试过的所有案例似乎都表明这是有效的。^{}上的文档似乎没有说明这件事。在

提供一些上下文:我尝试使用usersitecustomize钩子在__main__.__dict__中注入一些名称,以便(主要)在REPL启动时使它们可用。在

假设没有发生__import__的重新定义(如注释所述),这本质上归结为是否需要将其包装在try-except中。在


Tags: 文档import名称定义main情况repldict
1条回答
网友
1楼 · 发布于 2024-03-29 07:43:00

可能是的。Python初始化此文件中的__main__https://github.com/python/cpython/blob/master/Python/pylifecycle.c#L1327

但是请注意,像runpyIPython这样的模块用它们自己动态创建的模块替换{}模块,以防止与它们自己的启动脚本发生冲突,并在运行时提供预期的行为。在

runpy本身是Python标准库的一部分,它提供了-m标志的实现,该标志允许将任意模块作为脚本执行。在

另一种选择是IPython,它提供在启动新REPL时执行代码的功能。在

有关详细信息,请参阅此处:http://ipython.readthedocs.io/en/stable/config/intro.html?highlight=exec_lines

相关问题 更多 >