代码之家  ›  专栏  ›  技术社区  ›  Clownpiece

如何在python 3.8中反转txt文件?[已关闭]

  •  -4
  • Clownpiece  · 技术社区  · 3 年前
    data = data2 = data3 = ""
    
    with open('pushkin.txt', encoding='utf-8', mode='r') as fp:
        data = fp.read()
    
    with open('romeo.txt', encoding='utf-8', mode='r') as fp:
        data2 = fp.read()
    with open('byron.txt', encoding='utf-8', mode='r') as fp:
        data3 = fp.read()
    
    
    data += "\n"
    data += data2 + data3
    
    with open('poems.txt', 'w', encoding='utf-8') as fp:
        fp.write(data)
    

    通过这段代码,我将三个文本文件转换为一个。 现在,我需要翻转该文件中的文本,如下所示:

    ABC       CDA
    BCA  -->  BCA
    CDA       ABC
    

    但我不知道怎么做。我想用 reverse() reversed() ,但这只是因为 abc cba

    1 回复  |  直到 3 年前
        1
  •  1
  •   Park    3 年前

    您可以使用 reverse() 将所有内容保存为后反转列表中元素的顺序 list 键入到 data 变量,而不是特定字符串,如下所示:

    data = []
    
    with open('1.txt', encoding='utf-8', mode='r') as fp: # ABC
        data += fp.readlines()
        # data -> ['ABC\n']
    
    with open('2.txt', encoding='utf-8', mode='r') as fp: # BCA
        data += fp.readlines()
        # data -> ['ABC\n', 'BCA\n']
    
    with open('3.txt', encoding='utf-8', mode='r') as fp: # CDA
        data += fp.readlines()
        # data -> ['ABC\n', 'BCA\n', 'CDA\n']
    
    data.reverse() # data becomes ['CDA\n', 'BCA\n', 'ABC\n']
    
    with open('result.txt', 'w', encoding='utf-8') as fp:
        fp.write("".join(data))
    
    # result.txt
    CDA
    BCA
    ABC
    
    推荐文章