我正在尝试编写一个python程序,其中;
- user输入要读的源文件和要写的目标文件。
- 从源文件复制内容到目标文件。
- 删除多余的空行。
- 输出被删除的空行数。
我目前已经编写了执行此操作的代码,但无法确定如何输出已删除的空行总数。有人能解释一下我做错了什么吗?
f1 = open(input("Source file name: "))
f2 = open(input("Target file name: "), mode = 'w')
for line in f1:
if not line.strip(): continue
f2.write(line)
f1.close()
f2.close()
print("lines removed:")
输出应如下所示
source file name : string.txt
target file name: string_empty.txt
lines removed : 15
您可以在for
循环中引入一个计数器变量,这样每次不复制一行时,它就增加1:
count = 0 #counter variable
for line in f1:
if not line.strip():
count += 1
continue
f2.write(line)
f1.close()
f2.close()
print("lines removed:", count)