मेरे पास कुछ पायथन कोड है जो सीएसवी फ़ाइल को पार्स करता है। अब हमारे विक्रेता डेटा फ़ाइल को gzip csv फ़ाइल में बदलने का निर्णय लेते हैं। मैं सोच रहा था कि मुझे क्या न्यूनतम/साफ कोड परिवर्तन करना है। वर्तमान कार्य:पायथन "साथ" कथन वाक्यविन्यास
def load_data(fname, cols=()):
... ...
with open(fname) as f:
reader = csv.DictReader(f)
... ...
मैं load_data2() के लिए कोड डुप्लीकेट, और बयान के साथ करने के लिए बदलने के लिए नहीं करना चाहते, सोचा था कि यह पूरी तरह से काम करता है।
with gzip.open(fname) as f:
मैं कथन के साथ कैसे कारक बना सकता हूं?
def load_data(fname, cols=()):
... ...
if fname.endswith('.csv.gz'):
with gzip.open(fname) as f:
else:
with open(fname) as f:
reader = csv.DictReader(f)
... ... # code to parse
आप इसे सीधे 'साथ' कथन में भी कर सकते हैं: 'gzip.open (fname) के साथ अगर fname.endswith (' csv.gz ') अन्यथा खुला (fname) f' – kindall
धन्यवाद, पायथन सुंदर है ! – fivelements