猿问

删除文件中的空白行

我看过多个问题帖子,我想知道如何摆脱文件的最后一行,或者说是空白行


infile = open("milkin.txt","r").readlines()   

outfile = open("milkout.txt","w")                                                           


number = infile[0]                            

arrayLoc = infile[1].split( )                 

array = infile[2].split( )                                                                  


dictionary = {}                                                                             


for i, z in zip(arrayLoc, array):             

    dictionary[i] = z                         


for key in sorted(dictionary):                

    outfile.write(dictionary[key])            

    outfile.write("\n")                       

outfile:

5520059

8089172

7180540

6513926

9202362

2641421

2897763

2383426

1490027

1368690

在数字下方有一条多余的线,我想将其删除


qq_笑_17
浏览 213回答 3
3回答

ibeautiful

错误在这里:outfile.write("\n") 应该这样做:newline = ''for key in sorted(dictionary):    outfile.write(newline)    outfile.write(dictionary[key])    newline = '\n'由于文件newline初始化为空字符串,因此文件开头不会有空行。

慕慕森

或者:infile = open("milkin.txt","r").readlines()   outfile = open("milkout.txt","w")                                                           number = infile[0]                            arrayLoc = infile[1].split( )                 array = infile[2].split( )                                                                  dictionary = {}                                                                             for i, z in zip(arrayLoc, array):                 dictionary[i] = z                         for key in sorted(dictionary):                    outfile.write(dictionary[key])                outfile.write("\n")outfile.writelines([dictionary[key] if list(sorted(dictionary))[-1]==key else dictionary[key]+'\n' for idx,key in enumerate(sorted(dictionary))])                       
随时随地看视频慕课网APP

相关分类

Python
我要回答