Tôi đã viết một gói Python bao gồm cơ sở dữ liệu bsddb của các giá trị được tính trước cho một trong các tính toán tốn nhiều thời gian hơn. Để đơn giản, kịch bản cài đặt của tôi cài đặt tệp cơ sở dữ liệu trong cùng thư mục với mã truy cập cơ sở dữ liệu (trên Unix, giống như /usr/lib/python2.5/site-packages/mypackage/).Tìm tệp trong phân phối mô-đun Python
Làm cách nào để lưu trữ vị trí cuối cùng của tệp cơ sở dữ liệu để mã của tôi có thể truy cập? Ngay bây giờ, tôi đang sử dụng một hack dựa trên __file__
biến trong các mô-đun mà truy cập vào cơ sở dữ liệu:
dbname = os.path.join(os.path.dirname(__file__), "database.dat")
Nó hoạt động, nhưng có vẻ như ... hackish. Có cách nào tốt hơn để làm điều này? Tôi muốn có kịch bản thiết lập chỉ cần lấy vị trí cài đặt cuối cùng từ các mô-đun distutils và thứ nó vào một tập tin "dbconfig.py" được cài đặt cùng với mã truy cập cơ sở dữ liệu.
phân phối dữ liệu trong python luôn là một nỗi đau. Tôi đồng ý với câu hỏi của bạn mặc dù tôi đã không tìm thấy bất kỳ giải pháp tốt hơn. –