यदि यह वास्तव में अस्थायी है, तो लार्मन्स की सलाह का पालन करें और mkdtemp
का उपयोग करें।
यदि यह किसी प्रकार का अर्ध-स्थायी कैश है जो रीबूट से बचना चाहिए, तो आपको स्थानीय ओएस (% APPDATA%, ~/.local/etc) द्वारा परिभाषित स्थानीय एप्लिकेशन निर्देशिका का उपयोग करना चाहिए; कुछ टूलकिट (उदा। क्यूटी) उस फ़ोल्डर को क्रॉस-प्लेटफ़ॉर्म तरीके से देखने के लिए फ़ंक्शंस प्रदान करते हैं।
संपादित करें: विकिपीडिया से:
- गृह (यूनिक्स की तरह) और USERPROFILE (माइक्रोसॉफ्ट विंडोज) - जहां एक उपयोगकर्ता के घर निर्देशिका फाइल सिस्टम में स्थित है संकेत मिलता है।
- होम/{। AppName} (यूनिक्स-जैसी) और APPDATA {डेवलपरनाम \ AppName} (माइक्रोसॉफ्ट विंडोज) - एप्लिकेशन सेटिंग्स संग्रहीत करने के लिए। , USERPROFILE केवल संवादों कि उपयोगकर्ता रास्तों के बीच दस्तावेज की तरह/चित्र/डाउनलोड/संगीत, कार्यक्रम संबंधी उद्देश्यों के लिए कर APPDATA (रोमिंग) चयन करने की अनुमति में इस्तेमाल किया जाना चाहिए - कई खुला स्रोत प्रोग्राम गलत ढंग से आवेदन सेटिंग्स Windows में के लिए USERPROFILE का उपयोग LOCALAPPDATA या ProgramData (उपयोगकर्ताओं के बीच साझा)
तो तुम देखना चाहिए os.environ['APPDATA']
या os.environ['HOME']
, मंच के आधार पर (sys.platform
देखें) और फिर अपने ऐप में नाम जोड़ने और फिर तुम क्या आप चाहते हैं स्टोर कर सकते हैं।
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)
स्रोत
2012-01-09 13:40:37
वाह, धन्यवाद। मुझे लगता है कि यह जाने का रास्ता है। मैं बस 'user_cache_dir' बनाम' site_data_dir' सोच रहा हूं, जो मेरे मामले के लिए अधिक उपयुक्त है। – umpirsky