2012-01-02 31 views
10

Tôi hy vọng có một lời khuyên nhỏ về giá/cơ sở dữ liệu bằng Python.Sử dụng nền tảng python giá đỡ

Vấn đề: Tôi có một cơ sở dữ liệu được tạo ra trên mac, mà tôi muốn sử dụng trên windows 7. Tôi sử dụng Python 3.2, hệ điều hành MacOS 10,7, và giành chiến thắng 7.

Khi tôi mở và lưu xiên của tôi trên mac tất cả đều tốt và tốt. Tôi nhận được một tập tin có phần mở rộng ".db". Trên cửa sổ của tôi-python nó không được công nhận. Tuy nhiên, tôi có thể tạo một db mới trên máy tính và nhận các tệp có phần mở rộng ".bak, dat, .dir".

Tôi đoán rằng con trăn trên máy tính không có cùng cơ sở dữ liệu mà mac-python của tôi sử dụng?

Tôi không chắc đó là cách tiếp cận chính xác ở đây, nhưng có thể tôi có thể:

Thay đổi db mặc định mà hệ thống của tôi sử dụng? Tìm hiểu xem db mac-python của tôi sử dụng và thêm vào máy tính nào? Thay đổi cách tôi lưu trữ dữ liệu của mình cùng nhau?

Tốc độ không phải là vấn đề, việc thu thập dữ liệu là vài megabyte và không được truy cập thường xuyên.

Hy vọng sẽ tìm thấy một bàn tay giúp đỡ ở đó. Cảm ơn trước - bất kỳ trợ giúp nào được đánh giá cao.

/Esben

Những gì tôi đang làm:

Import shelve 
db = shelve.open('mydb') 
entries = db['list'] 
db.close 

Nó khá thẳng về phía trước, tôi đã một db-file làm việc gọi là "mydb.db" trên mac nhưng khi tôi cố gắng để mở nó trên pc-python tôi nhận được:

Traceback (cuộc gọi gần đây nhất cuối cùng): file "/Library/Frameworks/Python.framework/Versions/3.2/lib/python3.2/dbm/ init py" , dòng 107, trong đódb f = io.open (tên tệp + ".pag", "rb") IOError: [Errno 2] Không có tệp hoặc thư mục nào: 'mydb.pag'

+0

Ý của bạn là gì khi bạn nói nó không được nhận dạng trên Windows? Bạn đang cố mở tệp như thế nào? Bạn có thể hiển thị một số mã ví dụ không? –

Trả lời

1

mô-đun sqlite3 là mô-đun nền tảng chéo thậm chí được hỗ trợ bằng nhiều ngôn ngữ và công cụ khác.

mô-đun dưa đơn giản hơn, nhưng cũng là nền tảng chéo. Bạn cho nó một đối tượng và nó đổ nó vào một tập tin. Không có bảng hoặc hàng như sqlite.

+0

Pickle có lẽ là con đường để đi. Tôi chỉ thích ý tưởng có tất cả trong một tập tin. không phải là có khả năng ép buộc Python sử dụng một db cụ thể cho giá đỡ, đó là nền tảng chéo? – Esben

+1

Giá đã sử dụng tẩy dưới mui xe. –

+0

Được rồi, vì vậy tôi có thể sẽ gặp phải vấn đề tương tự sau đó .. – Esben

2

Cảm ơn bạn đã trả lời!

Tôi dường như các kệ trong python không dễ bị buộc phải sử dụng một db cụ thể, tuy nhiên dưa chua hoạt động như một nét duyên dáng. Ít nhất từ ​​mac os -> windows 7.

Vì vậy, câu trả lời ngắn gọn: Nếu bạn muốn tính di động, không sử dụng giá, sử dụng dưa chua trực tiếp.

/Esben

+0

có công việc dưa chua như quyến rũ, tôi cũng có cùng trải nghiệm ... –