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

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

文字列を改行コードを指定してテキストファイルに保存する方法が見つからなかった。

バイト列にして保存することで実現できた。

環境

  • Windows 10
  • Python 2.5.1

手順

(1) 改行コードがCRLF(\r\n)になっているテキストファイルを読み込む。

with open('test1.txt', 'r', encoding='utf-8') as a_file:
  txt = a_file.read()

(2) 改行コードCR(\r)を削除する。

txt = txt.replace('\r', '')

(3) ファイルをバイナリモードで開く。

with open('test2.txt', 'wb') as a_file:

(4) ファイルに、文字列をUTF-8のバイト列にして保存します。

a_file.write(txt.encode('utf-8'))

ソースコード

#! python3

# テキストファイルから文字列を読み込む
with open('test1.txt', 'r', encoding='utf-8') as a_file:
  txt = a_file.read()

# 読み込んだ文字列のCR(\r)を削除する。
txt = txt.replace('\r', '')

# ファイルをバイナリモードで開く
with open('test2.txt', 'wb') as a_file:
  # 文字列をバイト列にして保存する
  a_file.write(txt.encode('utf-8'))

コメントを残す

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