2009-09-13 12 views
6

एक सुंदर मूर्खतापूर्ण मामूली सवाल। विहित उदाहरण f = open('filename') है, लेकिनफ़ाइल वर्णनकर्ताओं के लिए आप किस परिवर्तनीय नाम का उपयोग करते हैं?

  • f बहुत वर्णनात्मक नहीं है। थोड़ी देर में कोड को देखने के बाद, आप भूल सकते हैं कि इसका अर्थ "फ़ाइल" या "फ़ंक्शन एफ (एक्स)" या "चौकोर परिणाम बदलना" या कुछ और है। EIBTI।
  • पायथन में, file पहले से ही एक फ़ंक्शन द्वारा लिया गया है।

आप और क्या उपयोग करते हैं?

+3

'फ़ाइल()' 2.x में बहिष्कृत किया गया था, फिर 3.x में हटाया गया फ्लैट, इसलिए IMHO यह उचित खेल –

+0

@NickT अच्छा है। मैं हमेशा उलझन में हूं कि 'फाइल' या' ओपन ' – endolith

उत्तर

4
data_file 
settings_file 
results_file 
.... etc 
+7

का उपयोग करना है या नहीं, यह थोड़ा अस्पष्ट है। पीईपी 8 low_case_with_underscores का उपयोग करने की सिफारिश करता है। –

+1

"विधि नाम और इंस्टेंस वैरिएबल - फ़ंक्शन नामकरण नियमों का उपयोग करें: पठनीयता में सुधार के लिए आवश्यक अंडरस्कोर द्वारा अलग किए गए शब्दों के साथ लोअरकेस।" http://www.python.org/dev/peps/pep-0008/ – endolith

+0

@endolith: आपको पायथन कोड के लिए मेरे सुझाव का उपयोग करना चाहिए। ऊंट का मामला जावा शैली है। – Unknown

2

आम तौर पर मैं एक अल्पकालिक फ़ाइल सूचक के लिए "एफपी" का उपयोग करूंगा।

लंबे समय तक रहने वाले वर्णनकर्ता के लिए, मैं और अधिक वर्णनात्मक होगा। उदाहरण के लिए, "fpDebugLog"।

4

आप शुरुआत में इसे हंगेरियन-जैसे "file_fft" में जोड़ सकते हैं।

हालांकि, मैं जितनी जल्दी हो सके फ़ाइल डिस्क्रिप्टर को बंद करने का प्रयास करता हूं, और मैं इस तरह के कथन का उपयोग करने की सलाह देता हूं ताकि आपको इसे बंद करने की चिंता न करें, और इससे इसका ट्रैक न खोना आसान हो जाता है । (जैसे with open('zap') as f: सामान्य रूप से संकेत मिलता होगा, कहना)

with open("x.txt") as f: 
    data = f.read() 
    do something with data 
+0

"साथ" एक महान है! यह निश्चित रूप से मेरे कोड को काफी साफ कर दिया है। आप इसका उपयोग 2.5 में "__future__ आयात से_स्टेटमेंट" से कर सकते हैं –

+0

ऑब्जेक्ट जो मैं फ़ाइल खोलने के लिए उपयोग कर रहा हूं वह कथन के साथ काम नहीं करता है। "ऑब्जेक्ट में कोई विशेषता नहीं है '__exit__'" – endolith

+1

@endolith: फिर ['contextlib.closing'] (http://docs.python.org/library/contextlib.html#contextlib.closing) का उपयोग करें। – icktoofay

3

मैं f (या तो एक समारोह या एक फ़ाइल ;-) अगर उस पहचानकर्ता की गुंजाइश एक बहुत छोटे कम्पास के लिए विवश किया जाता है के लिए उपयोग करने के लिए खुश हूँ। आम तौर पर, बड़े अक्षीय स्कॉप्स वाले पहचानकर्ता लंबे और अधिक स्पष्ट होने चाहिए, जो छोटे/छोटे स्कोप/लाइफस्पैन वाले छोटे और कम स्पष्ट हो सकते हैं, और यह किसी भी अन्य प्रकार की वस्तु के बारे में खुले फ़ाइल ऑब्जेक्ट पर लागू होता है! -)

0

मैं इसके बजाय: f, fp, fd का उपयोग करता हूं।

कभी-कभी inf/outf इनपुट और आउटपुट फ़ाइल के लिए।

2

आम तौर पर यदि फ़ाइल ऑब्जेक्ट का दायरा केवल कुछ पंक्तियां है, f पूरी तरह से पठनीय है - खुले कॉल में फ़ाइल नाम के लिए चर नाम शायद वर्णनात्मक है। अन्यथा something_file शायद एक अच्छा विचार है।

संबंधित मुद्दे