2012-05-04 99 views
1

我正在阅读关于python的进口信息,并发现有关进口的effbot article在Python中导入,可以做多少种方法?

Python提供了至少三种不同的方式来导入模块。您可以使用import语句,from语句或内置__import__函数。 (还有更多人为的方法来做到这一点,但这超出了本小记的范围。)

我想知道是否有人能够指出一些或所有可以做到的设计方法?实现导入的唯一方法是我能想到的是

exec("import os")以及在exec语句中创建字符串的所有可能的设计方法。

+1

是的,但是为什么....? – Gleno

+1

我只是好奇。我发现,跟进我遇到的这些类型的东西,是一种更有趣(更持久的)了解我所用语言的更精细细节的方式,而不仅仅是阅读关于内置模块的文档。我是ioccc的粉丝,所以可能解释很多。 – iancoleman

回答

5

这是否充分做作?

os = getattr(__builtins__, "".join(chr(ord(x) - 1) for x in "``jnqpsu``"))("os") 
+4

我的眼睛........ –

+1

是的。接受的答案。 – Gleno

+0

太棒了。离开(“os”)结束有效地将导入功能重命名为任何其他名称。非常有趣的东西。 – iancoleman

相关问题