在Python中,如果要以编程方式导入模块,可以执行以下操作:
module = __import__('module_name')
Run Code Online (Sandbox Code Playgroud)
如果要导入子模块,您会认为这只是一个简单的问题:
module = __import__('module_name.submodule')
Run Code Online (Sandbox Code Playgroud)
当然,这不起作用; 你module_name再来一次 你必须做:
module = __import__('module_name.submodule', fromlist=['blah'])
Run Code Online (Sandbox Code Playgroud)
为什么?实际值fromlist似乎根本不重要,只要它不是空的.要求一个论点,然后忽略它的价值观有什么意义呢?
Python中的大多数东西似乎都是有充分理由的,但对于我的生活,我无法对这种行为存在任何合理的解释.
我有一个我正在存档的目录:
$ du -sh oldcode
1400848
$ tar cf oldcode.tar oldcode
Run Code Online (Sandbox Code Playgroud)
所以目录是1.4gb.但是文件要小得多:
$ ls -l oldcode.tar
-rw-r--r-- 1 ieure ieure 940339200 2002-01-30 10:33 oldcode.tar
Run Code Online (Sandbox Code Playgroud)
只有897mb.它没有以任何方式压缩:
$ file oldcode.tar
oldcode.tar: POSIX tar archive
Run Code Online (Sandbox Code Playgroud)
为什么tar文件小于它的内容?