我写的是做正是我想要它做一个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!"
我很新的shell脚本和非常新的python。我会很感激任何帮助。
错误来自python脚本(csvcut?),而不是来自您的bash脚本。看看它的代码相关的代码会更有用:D –
这可能是因为csvcut不喜欢头部,因为它迫使进程的标准输出过早关闭? –
@Antti,我猜测是这样,但是想知道在脚本中我能做些什么来解决这个问题,因为在命令行单独运行命令不会产生错误。你有没有想过如何改变头来解决可能的stdout问题?或者csvcut代码仍然是必要的?谢谢! –