How to write every other line in a text file?

后端 未结 3 1303
温柔的废话
温柔的废话 2021-01-17 04:20
inputFile = open(\'original_text.txt\',\'r\')
outputFile = open(\'half_text.txt\',\'w\')

line = inputFile.readline()
count = 0 
for line in inputFile:
    outputFil         


        
相关标签:
3条回答
  • 2021-01-17 05:00

    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)
    
    0 讨论(0)
  • 2021-01-17 05:19

    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()
    
    0 讨论(0)
  • 2021-01-17 05:23

    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()
    
    0 讨论(0)
提交回复
热议问题