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'))
Pingback: 文字列の操作 (string) [Python] – Site-Builder.wiki