【发布时间】:2011-10-13 19:33:42
【问题描述】:
我正在尝试格式化包含行和列的制表符分隔的 txt 文件。当我写入输出文件时,我试图简单地忽略其中包含任何空值的行。我通过 len(list) 方法执行此操作,如果列表的长度等于列数,则该行被写入输出文件。但是当我检查行的长度时,它们都是一样的,即使我删除了空字符串!很郁闷...
这是我的代码:
import sys, os
inputFileName = sys.argv[1]
outputFileName = os.path.splitext(inputFileName)[0]+"_edited.txt"
try:
infile = open(inputFileName,'r')
outfile = open(outputFileName, 'w')
line = infile.readline()
outfile.write(line)
for line in infile:
lineList = line.split('\t')
#print lineList
if '' in lineList:
lineList.remove('')
#if len(lineList) < 9:
#print len(lineList)
#outfile.write(line)
infile.close()
#outfile.close()
except IOError:
print inputFileName, "does not exist."
感谢您的帮助。当我在交互式窗口中创建一个实验列表并使用 if '' in list: 时,它会删除它。当我运行代码时,''仍然存在!
【问题讨论】:
-
不要为 OP 和 Python 等对空白至关重要的语言进行空白编辑!这些会改变问题并掩盖问题。