मैं एक bash स्क्रिप्ट कि वास्तव में क्या कर रहा है कि मैं क्या करना चाहते हैं लिखा है, लेकिन निम्न त्रुटि बाहर लात:को संबोधित करते sys.excepthook त्रुटि
close failed in file object destructor: sys.excepthook is missing lost sys.stderr
मैं पूरी तरह से स्टम्प्ड हूँ इसे कैसे संबोधित करें। यहां स्क्रिप्ट है:
#!/bin/bash
usage() { echo "${0##*/} inputfile outputfile"; exit 1; }
(($#==2)) || usage
INPUTFILE="$1"
OUTPUTFILE="$2"
# All that is written between between the 'cat' command and
#+ 'EOF' will be sent to the output file.
cat <<EOF >$OUTPUTFILE
$(date "+Generated on %m/%d/%y at %H:%M:%S")
DATA AUDIT: $1
------------
COLUMN NAMES
------------
$(csvcut -n $INPUTFILE)
---------------------------------------
FIRST TEN ROWS OF FIRST FIVE COLUMNS
---------------------------------------
$(csvcut -c 1,2,3,4,5 $INPUTFILE | head -n 10)
------------
COLUMN STATS
------------
$(csvcut $INPUTFILE | csvstat)
---END AUDIT
EOF
echo "Audited!"
मैं शैल स्क्रिप्ट के लिए बहुत नया हूं और अजगर के लिए बहुत नया हूं। किसी भी सहायता के लिए आभारी रहेंगे।
त्रुटि आपके बैश स्क्रिप्ट से नहीं, पाइथन स्क्रिप्ट (csvcut?) से आता है। इसके कोड को प्रासंगिक कोड देखने के लिए और अधिक उपयोगी होगा: डी –
यह हो सकता है कि सीएसवीक्यू सिर को पसंद न करे, क्योंकि यह प्रक्रिया के stdout को समय-समय पर बंद करने के लिए मजबूर करता है? –
@ एन्टी, मैं अनुमान लगा रहा था कि यह मामला है, लेकिन सोच रहा है कि स्क्रिप्ट में ऐसा कुछ था जो समस्या को हल करेगा, क्योंकि कमांड लाइन पर व्यक्तिगत रूप से कमांड चलाने से त्रुटि उत्पन्न नहीं होती है। क्या आपको पता है कि संभावित स्टडआउट मुद्दे को हल करने के लिए सिर कैसे बदला जा सकता है? या फिर इसके लिए csvcut कोड आवश्यक होगा? और धन्यवाद! –