Nếu nó thực sự là tạm thời, hãy làm theo lời khuyên của người bảo lãnh và sử dụng mkdtemp
.
Nếu đó là một loại bộ nhớ cache bán vĩnh viễn phải tồn tại khởi động lại, thì bạn nên sử dụng thư mục ứng dụng cục bộ, như được định nghĩa bởi hệ điều hành của bạn (% APPDATA%, ~/.local/etc); một số bộ công cụ (ví dụ: Qt) cung cấp các chức năng để xem thư mục đó theo cách đa nền tảng.
Chỉnh sửa: từ Wikipedia:
- CHỦ (Unix-like) và USERPROFILE (Microsoft Windows) - chỉ ra nơi thư mục home của người dùng nằm trong hệ thống tập tin.
- HOME/{. AppName} (giống Unix) và APPDATA {DeveloperName \ AppName} (Microsoft Windows) - để lưu trữ cài đặt ứng dụng. Nhiều chương trình nguồn mở không chính xác sử dụng USERPROFILE cho cài đặt ứng dụng trong Windows - USERPROFILE chỉ được sử dụng trong hộp thoại cho phép người dùng chọn giữa các đường dẫn như Tài liệu/Ảnh/Tải/Nhạc, cho mục đích có lập trình sử dụng APPDATA (chuyển vùng), LocalAppData hoặc ProgramData (chia sẻ giữa người sử dụng)
Vì vậy, bạn nên tìm kiếm os.environ['APPDATA']
hoặc os.environ['HOME']
, tùy thuộc vào nền tảng (xem sys.platform
) và sau đó thêm tên ứng dụng của bạn, và sau đó bạn có thể lưu trữ có bất cứ điều gì bạn muốn.
mydir = os.path.join(".myAppName", "cache")
homeVar = 'HOME' # default for all *nix variants
if sys.platform == 'win32':
homeVar = 'APPDATA'
mydir = os.path.join(os.environ[homeVar], mydir)
Nguồn
2012-01-09 13:40:37
Wow, cảm ơn. Tôi đoán đây là con đường để đi. Tôi chỉ tự hỏi 'user_cache_dir' vs' site_data_dir', điều này phù hợp hơn với trường hợp của tôi. – umpirsky