【发布时间】:2021-12-21 19:45:13
【问题描述】:
我想知道使用 python 从文件中计算已删除行数的最简单方法是什么。是否取前后行的索引并减去?或者有没有办法计算循环中删除的行数?
在下面的示例文件中,我有一个 before 用户输入文件和一个 after 文件,用于从用户输入中排除任何包含负数或空格的行。我意识到我要么需要计算之前和之后的文件,要么找到一种方法来计算 note_consider[] 列表中的项目。
import os, sys
inFile = sys.argv[1]
baseN = os.path.basename(inFile)
outFile = 'c:/example.txt'
#if path exists, read and write file
if os.path.exists(inFile):
inf = open(inFile,'r')
outf = open(outFile,'w')
#reading and writing header
header = inf.readline()
outf.write(header)
not_consider = []
lines = inf.read().splitlines()
for i in range(0,len(lines)):
data = lines[i].split("\t")
for j in range(0,len(data)):
if (data[j] == '' or float(data[j]) < 0):
#if line is having blank or negtive value
# append i value to the not_consider list
not_consider.append(i)
for i in range(0,len(lines)):
#if i is in not_consider list, don't write to out file
if i not in not_consider:
outf.write(lines[i])
print(lines[i])
outf.write("\n")
inf.close()
outf.close()
【问题讨论】:
-
您想提高性能还是想缩短或提高可读性?