Tôi đang viết một gói python với các mô-đun cần mở tệp dữ liệu trong thư mục con ./data/
. Ngay bây giờ tôi có các đường dẫn đến các tệp được mã hóa cứng vào các lớp và các hàm của tôi. Tôi muốn viết mã mạnh mẽ hơn có thể truy cập vào thư mục phụ bất kể nó được cài đặt ở đâu trên hệ thống của người dùng.Truy cập Python dữ liệu trong gói Subdirectory
Tôi đã thử một loạt các phương pháp, nhưng cho đến nay tôi đã không có may mắn. Dường như hầu hết các lệnh "thư mục hiện tại" trả về thư mục của trình thông dịch python của hệ thống, chứ không phải thư mục của mô-đun.
Điều này có vẻ như nó phải là một vấn đề thường gặp. Nhưng tôi không thể hình dung ra được. Một phần của vấn đề là các tệp dữ liệu của tôi không phải là các tệp .py
, vì vậy tôi không thể sử dụng các chức năng nhập và các chức năng tương tự.
Mọi đề xuất?
Ngay bây giờ thư mục gói của tôi trông giống như:
/
__init__.py
module1.py
module2.py
data/
data.txt
tôi đang cố gắng để truy cập data.txt
từ module*.py
Cảm ơn!
Điều này sẽ không hoạt động nếu các tệp nằm trong bản phân phối (trứng của IE). Sử dụng pkg_resources để lấy tệp dữ liệu. – Chris
Thật vậy, điều này bị hỏng. – Federico