less 文件少一行, python -join -write ,shell 逐行读取

用python 

file.write("\n".join(line_list))

方式将多行内容组成的列表写入文件。文件末行没有换行符,
因此vi打开文件会因为如同window系统一般的文件结尾,提示:[noeol]
且,less |wc-l 的方式数行数会比实际行数少一行。

这样的输出文件用python for line读取是没有问题的

用shell命令读取时:
  读取全部文件也是没问题。如varor=$(cat py.filelistwriteorigin)
  用while line读取每一行出现问题!!!! 由于最后一行没有换行符,而丢失最后一行内容!!!!!!!!

如:  

file=$1
while read line
do
echo "File:${line}"
done <$file

 

解决方案:

  最应该方式:在每次python file.write("\n".join(line_list)) 方式将多行内容组成的列表写入文件,之后加 file.write("\n")

  紧急修复bug : vi 生成的文件,再wq即可。

 

posted on 2020-03-03 12:14  BioinformaticsMaster  阅读(328)  评论(0编辑  收藏  举报

导航