python - 为什么我的 python 程序输出中有额外的空行?

标签 python

我对 python 不是特别有经验,所以下面可能会做一些愚蠢的事情。我有以下程序:

import os
import re
import linecache

LINENUMBER = 2

angles_file = open("d:/UserData/Robin Wilson/AlteredData/ncaveo/16-June/scan1_high/000/angles.txt")

lines = angles_file.readlines()

for line in lines:
    splitted_line = line.split(";")
    DN = float(linecache.getline(splitted_line[0], LINENUMBER))
    Zenith = splitted_line[2]
    output_file = open("d:/UserData/Robin Wilson/AlteredData/ncaveo/16-June/scan1_high/000/DNandZenith.txt", "a")
    output_file.write("0\t" + str(DN) + "\t" + Zenith + "\n")
    #print >> output_file, str(DN) + "\t" + Zenith
    #print DN, Zenith

output_file.close()

当我查看文件的输出时,我得到以下信息:

0   105.5     0.0

0   104.125  18.0

0   104.0    36.0

0   104.625  54.0

0   104.25   72.0

0   104.0    90.0

0   104.75  108.0

0   104.125 126.0

0   104.875 144.0

0   104.375 162.0

0   104.125 180.0

这是正确的数字,每行之间只有空行。我已经尝试并尝试删除它们,但我似乎做不到。我做错了什么?

罗宾

最佳答案

对于 GENERAL 解决方案,从您的 INPUT 中删除结尾的换行符:

splitted_line = line.rstrip("\n").split(";")

在这种情况下,从您的输出中删除无关的换行符“可行”,但这是一个杂乱无章的问题。

另外:(1) 在循环中间打开输出文件不是一个好主意;做一次,否则你只是在浪费资源。如果循环足够长,您将用完文件句柄并崩溃 (2) 像那样硬连接文件名不是一个好主意,尤其是隐藏在脚本中间;尝试使您的脚本可重用。

关于python - 为什么我的 python 程序输出中有额外的空行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1001601/

相关文章:

Python xlrd.书籍 : how to close the files?

python - GQL 错误报告属性未在 dev_appserver 上建立索引?

python - 如何在theano中获得一维卷积

python - MySQL (mariaDB) 与 SqlAlchemy 的连接错误

python - 仅将唯一值添加到python中的列表

python - 捕获传递给嵌入式终端的命令的标准输出

python - 使用 GridSearch 时使用 Scikit-learn 的模型帮助

python - 导入 "rest_framework"无法解析。但是我已经安装了djangorestframework,不知道哪里出了问题

python - 你如何将 Python cv2.cv.LoadImage 编码到 C IplImage->imageData 结构中

python - 分割字符串时遇到问题