2010-05-22 29 views
5

khi tôi sử dụng http://github.com/joshthecoder/tweepy-examples,làm thế nào để nhập khẩu một tập tin 'zip' để py tôi

tôi thấy:

import tweepy 

trong appengine \ oauth_example \ handlers.py

nhưng tôi có thể Không tìm thấy tệp tweepy hoặc tệp 'py' của tweepy, ngoại trừ một tệp tweepy.zip,

tôi không nghĩ điều này đúng, cauz tôi không bao giờ nhập tệp zip,

tôi tìm thấy điều này trong app.py:

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

tại sao?

làm thế nào để nhập khẩu một tập tin zip ..

nhờ

cập nhật

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' 

lỗi là:

> "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

nó được ok bây giờ,

lý do của lỗi là: i đổi tên b.rar tới b.zip

Trả lời

5

Tên tệp zip không liên quan khi tìm kiếm mô-đun - điều này cho phép bạn bao gồm số phiên bản trong tên tệp, chẳng hạn như my_b_package.1.2.3.zip.

Để nhập từ tệp zip, bạn cần sao chép toàn bộ cấu trúc gói trong đó. Trong trường hợp này, bạn cần gói b, với các mô-đun __init__.pyc.py.

tức là:

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

Bạn không nhập z các tệp ip, bạn thêm chúng vào sys.path để bạn có thể nhập các mô-đun bên trong chúng. sys.path là một danh sách và như vậy các phương pháp/hoạt động danh sách thông thường (ví dụ: .append()) đều hoạt động trên đó.

+0

nhưng tôi không thể import module trong vòng họ, tại sao? – zjm1126

+0

Bạn có thể nhập tệp nén độc lập. Ví dụ tôi có một tệp nén, với phần mở rộng '.pyc', chứa' __main __. Py' và tất cả phần còn lại của mã của tôi. Sau đó tôi có thể sử dụng nó như là một module tự chạy được, nhưng cũng nhập nó bằng cách sử dụng 'zipimport' nếu tôi muốn các điểm vào khác. –

Các vấn đề liên quan