Pythonはtxtファイルの行末を削除します

誤解

  • Pythonを使用して、ステートメントopen(filename、 'r')を使用してtxtファイルを読み取ります。
  • Pythonを使用して、ステートメントopen(fileneme、 'w')を使用してtxtファイルを記述します。
  • したがって、Pythonを介して元のファイルを読み取りたい場合は、元のファイルに直接書き換えます。つまり、元のファイルの「\ n」または「\ r \ n」を読み取ってから、文字を直接削除します。これは現実的ではありません。最初にopen(filename、 'r')を介して元のファイルの内容を読み取り、次にopen(fileneme、 'w')を使用して、行末のキャリッジリターンが削除された文字列を新しいファイルに書き込みます。それは、読み取りと書き込みの分離を行うことです。

インスタンス

元のファイルの
ここに画像の説明を挿入
場合、次のステートメントを使用すると、変更された結果が実際に元のファイルに書き込まれるのではなく、行末の改行文字のみが削除されます。

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
filename = "./text.txt"
with open(filename, 'r') as f:
    print("open OK")
    for line in f.readlines():
        for a in line:
            # print(a)
            if a == '\n':
                print("This is \\n")
                a = " "
    for line in f.readlines():
        for a in line:
            if a == '\n':
                print("This is \\r\\n")
    for line in f.readlines():
        line = line.replace("\n", " ")
        line = line.strip("\n")

"""open OK
This is \n
This is \n
This is \n
This is \n
This is \n
This is \n
This is \n
This is \n
This is \n
This is \n
This is \n
This is \n
This is \n
This is \n
This is \n
This is \n
"""

ただし、元のファイルは変更されていません

正しい方法

ファイルを読み取った後、writeステートメントを使用して、変更されたコンテンツを新しいファイルに書き換えます。

with open('./text_1.txt', 'w') as f:
    with open('./text.txt', 'r') as fp:
        for line in fp:
            line = str(line).replace("\n", " ")
            f.write(line)

ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/qdPython/article/details/112966125