是否有一个地方做任何情况下:是否__main__保证始终可导入?
import __main__
可能导致ImportError
?我试过的所有案例似乎表明,这总是有效的。关于__main__
的文档似乎没有提到有关此事的任何内容。为了给出一些上下文:我试图使用usersitecustomize
钩子在__main__.__dict__
中注入一些名字,以便(主要)在REPL启动时使它们可用。
诚然,没有发生的__import__
重新定义(作为注释说明),这主要归结为,如果我需要将其包装在一个try-except
与否。
当然,例如,如果你[更换'__import__'(http://ideone.com/gFuzwp),但我怀疑这就是你之类的话寻找。你对什么样的失败类型感兴趣? – user2357112
尝试在A.py中打印'__main__',然后在B.py中导入A. –
你们在说什么? '__main__'并不总是当前模块;它是主脚本执行的名称空间,或交互式代码以交互模式执行的名称空间。 – user2357112