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

用python 

file.write("
".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(" ".join(line_list)) 方式将多行内容组成的列表写入文件,之后加 file.write(" ")

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

本文来自博客园,作者:BioinformaticsMaster,转载请注明原文链接:https://www.cnblogs.com/koujiaodahan/p/12401531.html

原文地址:https://www.cnblogs.com/koujiaodahan/p/12401531.html