अजगर में (2.7 में यह कोशिश की और नीचे) यह tempfile.NamedTemporaryFile
उपयोग कर बनाई गई एक फ़ाइल की तरह लग रहा umask निर्देश का पालन करना प्रतीत नहीं होता:क्या मैं python में tempfile.NamedTemporaryFile के लिए umask सेट कर सकता हूं?
import os, tempfile
os.umask(022)
f1 = open ("goodfile", "w")
f2 = tempfile.NamedTemporaryFile(dir='.')
f2.name
Out[33]: '/Users/foo/tmp4zK9Fe'
ls -l
-rw------- 1 foo foo 0 May 10 13:29 /Users/foo/tmp4zK9Fe
-rw-r--r-- 1 foo foo 0 May 10 13:28 /Users/foo/goodfile
किसी भी विचार क्यों NamedTemporaryFile
umask लेने नहीं होगा? फ़ाइल निर्माण के दौरान ऐसा करने का कोई तरीका है?
मैं हमेशा os.chmod() के साथ इसे काम कर सकता हूं, लेकिन मैं कुछ ऐसा करने की उम्मीद कर रहा था जो फाइल निर्माण के दौरान सही काम करता था।
धन्यवाद - होगा एक जवाब है कि में एक विशिष्ट लाइन के लिए लिंक प्यार स्रोत! – shreddd
आपके उत्तर के लिए धन्यवाद। मैं बस ध्यान दूंगा कि यह विचित्र है, अन्यथा मैं जो चाहता हूं उसे करने का एक और तरीका याद कर रहा हूं। मैं बस एक नामांकित समकालीन फ़ाइल का उपयोग करने के लिए तैयार हूं, इसलिए अगर मैं इसे उत्पन्न करने में त्रुटियों में भाग लेता हूं, तो इसे इसे फेंक सकता हूं, लेकिन इसे सफलतापूर्वक उस फ़ाइल में ले जाया जा सकता है जिसे मैंने अन्यथा सादे खुले (नाम, 'डब्ल्यू ") के साथ बनाया हो। लगता है एक फीचर अनुरोध की तरह कहा जाता है .... – nealmcb