python - Writing out to a gives no new file, but no error either -
लक्ष्य:
- argparse में एक तर्क ले लो,
- परीक्षण अगर यह तर्क सही है
- यदि सत्य है, तो उस तर्क के बाद निर्दिष्ट नाम के साथ फाइल लिखें
उदाहरण: कमांड लाइन में:
$ python printfile.py --out_arg fileOutput.txt
... एक फाइल ऑउटपुट। Txt उसी निर्देशिका में होगा जैसा कि printfile.py
कोड:
def parse_arguments (): options = parse_arguments () #output arguments parser.add_argument ("- out_arg", एक्शन = 'स्टोर', डिफ़ॉल्ट = फॉल्ट, dest = 'out_arg' Def = "" आउटपुट फाइल "" ") def प्रिंटआउटआउट (सीक्यूआईडी, सीईसी, कॉम): #" ए "एपेंड का उपयोग किया जाता है क्योंकि यह लूप जनरेटर के लिए आउटपुट है अगर options.out_arg outputfh = open (options.out_33 , "A") outputfh.write ("@ {} \ n {} \ n {} \ n +"। प्रारूप (सीकआईडी, सीईसी, कॉम)) अन्य: sys.stderr.write ("ERR: sys.stdin बिना है अनुक्रम डेटा ")
फिर भी, जब मैं डीपी मुख्य () से प्रिंट_आउटपुट को कॉल करता हूं - नहीं दिखाया- ब्याज की मेरी ट्यूपल (सीईसीआईडी, सीईसी, कॉम) में गुजर रहा है, कोई फ़ाइल नहीं लिखा है, और कोई त्रुटि संदेश नहीं दिया गया है। क्या यह argparse तर्क है कि निवेशित फ़ाइल को गंतव्य के रूप में संग्रहीत नहीं किया जा रहा है? क्या यह लिखने की कोशिश करते समय फ़ाइल संभाल का उपयोग होता है?
आप कभी भी बंद नहीं आउटपुट फ़ाइल पर। पायथन के लेखन को कुछ हद तक बफ़्फ़ किया जाता है, और यदि आप
flush
या close
को नहीं बुलाते हैं, तो आप फ़ाइल में सभी आउटपुट (या
आपको हमेशा फाइल को ओह (फाइल) के साथ ओपन () के साथ IO का उपयोग करना चाहिए: फ़ाइल को सुनिश्चित करने के लिए: सिंटैक्स ठीक से फ्लश / बंद है:
यदि options.out_arg: ओपन के साथ (options.out_33, 'a') outputfh के रूप में: outputfh.write (...) और: ... बेशक, यह सब मान लेता है कि आप वास्तव में कॉलिंग print_output
कहीं, जो आपका कोड नहीं दिखाता है और वह options.out_33
एक रिश्तेदार पथ है और एक पूर्णांक नहीं है, अन्यथा फ़ाइल उस पर निर्भर नहीं होगी जहां आप इसकी उम्मीद करते हैं।
Comments
Post a Comment