Pythonでテキストファイルの改行コードをCRLFからLFに変換するには

Pythonでテキストファイルの改行コードをCRLFからLFに変換したい。

文字列を改行コードを指定してテキストファイルに保存する方法を以前に書いた。

より良い方法が見つかったので紹介する。

環境

  • Windows 10
  • Python 3.6.6

open()関数のnewline引数を使う

open()関数のnewline引数を使うと、改行コードを制御できる。

テキストファイルを読み込むとき、「newline=None」を指定すると、改行コードは\nになる。

テキストファイルに書き込むとき、「newline=\r」と指定すると、\nは\rになる。

ソースコード

ソースコードは下記の通り。

#! python3

# テキストファイルから文字列を読み込む
# newline=Noneを指定すると改行コードは\nになる
with open('test1.txt', 'r', encoding='utf-8', newline=None) as a_file:
    txt = a_file.read()

# 文字列をテキストファイルに書き込む
# newline='\r'を指定すると改行コードは\rになる
with open('test2.txt', 'w', encoding='utf-8', newline='\n') as a_file:
    # 文字列をバイト列にして保存する
    a_file.write(txt)

コメント

  1. CRLFからCRに変換されるのでタイトルとは違う結果になりますね

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください