How To Write Every Other Line In A Text File?
inputFile = open('original_text.txt','r') outputFile = open('half_text.txt','w') line = inputFile.readline() count = 0 for line in inputFile: outputFile.write(line) count
Solution 1:
This skips the first line because you read it and throw it away before the loop. Delete line 4,
line = inputFile.readline()
Add change the count parity to odd with
if count % 2 == 1:
For a slightly better design, use a boolean that toggles:
count = False
for line in inputFile:
outputFile.write(line)
count = not count
if count:
print(line)
inputFile.close()
outputFile.close()
I tried running the program on itself:
inputFile = open('this_file.py', 'r')
count = False
outputFile.write(line)
if count:
outputFile.close()
Solution 2:
use next
to skip the next line. You may need to watch for a StopIteration
error on the call to next(fh) if you have odd lines.
outputFile = open('half_text.txt','w')
with open('original_text.txt') as fh:
for line1 in fh:
outputFile.write(line1)
try:
next(fh)
except StopIteration:
pass
outputFile.close()
Solution 3:
The for
loop will go over the file line by line and when you use the readline
, it will advance the pointer forward inside the loop. Therefore odd
will go over odd numbered lines and even
goes over even numbered lines.
with open (path, 'r') as fi:
for odd in fi:
even = fi.readline()
print ('this line is odd! :' + odd)
print ('this line is even! :' + even)
Post a Comment for "How To Write Every Other Line In A Text File?"