2012-06-23 39 views
7

Tôi đã cố gắng để bắt đầu với scipy, nhưng gói là cho tôi một số vấn đề. Hướng dẫn nghiêng nhiều vào scipy.io, nhưng khi tôi nhập scypi và cố gắng sử dụng scipy.io, tôi nhận được lỗi:Tại sao tôi không thể sử dụng scipy.io?

In [1]: import scipy 

In [2]: help(scipy.io) 
--------------------------------------------------------------------------- 
AttributeError       Traceback (most recent call last) 
/home/chris/dev/scipy/<ipython-input-2-ef060398b31c> in <module>() 
----> 1 help(scipy.io) 

AttributeError: 'module' object has no attribute 'io' 

tôi đã chạy cập nhật hệ thống và tôi gỡ bỏ cài đặt scipy sau đó cài đặt nó một lần nữa.

Điều thú vị là đủ, tôi có thể nhập các mô-đun theo cách này:

In [1]: import scipy.io 

Nhưng sau đó khi tôi cố gắng sử dụng nó, tôi nhận được một lỗi ngay sau khi tôi sử dụng một phương pháp:

In [2]: arr = scipy.array([[1.0,2.0],[3.0,4.0],[5.0,6.0]]) 
In [3]: outFile = file('tmpdata1.txt', 'w') 
In [4]: scipy.io.write_array(outFile, arr) 
--------------------------------------------------------------------------- 
AttributeError       Traceback (most recent call last) 
/home/chris/dev/scipy/<ipython-input-4-46d22e4ff485> in <module>() 
----> 1 scipy.io.write_array(outFile, arr) 

AttributeError: 'module' object has no attribute 'write_array' 

Tôi chắc chắn rằng tôi đang thiếu một cái gì đó đáng xấu hổ cơ bản, nhưng tôi đã không thể tìm thấy một câu trả lời cho vấn đề này trên Google hoặc trong kho lưu trữ stackoverflow.

+0

'write_array' không có trong' scipy.io', nó nằm trong ['scipy.io.array_import'] (http://www.scipy.org/doc/api_docs /SciPy.io.array_import.html#write_array) Có 'scipy.io.array_import.write_array' (sau khi 'import scipy.io.array_import') hoạt động? Bạn đang theo dõi hướng dẫn nào? –

Trả lời

15

Hai thứ ở đây. Trước tiên, bạn không thể truy cập chung một mô-đun trong gói bằng cách thực hiện import package và sau đó cố gắng truy cập package.module. Bạn thường xuyên phải làm những gì bạn đã làm, import package.module, hoặc (nếu bạn không muốn gõ package.module tất cả các thời gian, bạn có thể làm from package import module. Vì vậy, bạn cũng có thể làm from scipy import io.

Thứ hai, các mô-đun scipy.io không cung cấp Có vẻ như nó có thể được sử dụng để, nhưng họ đã loại bỏ nó.Bạn có thể nhìn vào một hướng dẫn đã lỗi thời. (Bạn đang sử dụng hướng dẫn nào?) Googling xung quanh, có vẻ như họ đề nghị sử dụng chức năng savetxt của numpy để thay thế, vì vậy bạn có thể muốn xem xét điều đó.

+0

Vâng, có vẻ như hướng dẫn tôi đang sử dụng (http://cutter.rexx.com/~dkuhlman/scipy_course_01.html) đã lỗi thời khủng khiếp. Tôi thậm chí không nhớ làm thế nào tôi đi qua nó bây giờ, nhưng tôi tìm thấy một trong những trang web scipy (http://docs.scipy.org/doc/scipy/reference/tutorial/) mà tôi sẽ sử dụng từ nay trở đi. Cảm ơn bạn đã xóa sự nhầm lẫn nhập của tôi! –

+0

Tài liệu không quá lỗi thời vào thời điểm đó. 'write_array' đã được chuyển từ' scipy.io' sang 'scipy.io.array_import' (rất) khoảng một năm rưỡi trước bài viết gốc của bạn, sau đó ngay sau khi xóa nó hoàn toàn có lợi cho' savetxt' và bạn bè. –

+0

Ngoài ra, bạn có thể sử dụng phương thức 'tofile' trực tiếp trên' ndarray'. Điều đó thậm chí còn dễ dàng hơn. –

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