如何将'zip'文件导入我的.py

时间:2010-05-22 03:38:55

标签: python import zip

当我使用http://github.com/joshthecoder/tweepy-examples时,

我发现:

import tweepy

在appengine \ oauth_example \ handlers.py

但我找不到tweepy文件或tweepy的'py'文件,除了tweepy.zip文件,

我不认为这是对的,因为我从不导入zip文件,

我在app.py中找到了这个:

import sys
sys.path.insert(0, 'tweepy.zip')

为什么?

如何导入zip文件..

感谢

更新

a.py:

import sys
sys.path.insert(0, 'b.zip')

import b
print b

b.zip:

b file
   |-----__init__.py
   |-----c.py

c.py:

cc='ccccc'

错误是:

> "D:\Python25\pythonw.exe"  "D:\zjm_code\a.py" 
Traceback (most recent call last):
  File "D:\zjm_code\a.py", line 9, in <module>
    import b
ImportError: No module named b

updated2

现在好了,

错误的原因是:我将b.rar重命名为b.zip

2 个答案:

答案 0 :(得分:5)

搜索模块时,zip文件的名称无关紧要 - 这允许您在文件名中包含版本号,例如my_b_package.1.2.3.zip

要从zip文件导入,您需要复制其中的完整包结构。在这种情况下,您需要一个包b,包含__init__.pyc.py模块。

即:

b.zip
|
| -- b <dir>
     | -- __init__.py
     | -- c.py

答案 1 :(得分:2)

您不导入zip文件,将它们添加到sys.path,以便您可以在其中导入模块。 sys.path是一个列表,因此正常的列表方法/操作(例如.append())都可以使用它。