【python】テキストに行を追加したい
- 2020.12.06
- python
テキストデータに行を追加して保存します。改行のため¥r¥nが必要なことに注意が必要です。(文中に出てくる¥は全て小文字にしてください。)
サンプルプログラム
【main.py】
# -*- coding: utf-8 -*-
import sys
import codecs
from os import path
##自作モジュールのインポート##
m_path = path.join(path.dirname(__file__),"under")
sys.path.append(m_path)
import yomikomi
###read.txtの読み込み###
rf_name="read.txt"
read_path = path.join(path.dirname(__file__),rf_name)
read_file=yomikomi.d_yomikomi(read_path)
print(read_file)
#########################
###改行を追加する###########
length=len(read_file)
print(length)
last=read_file[length-1]
kaigyo=last+"\r\n"
read_file[length-1]=kaigyo
print(read_file)
#############################
###最終行に文字を追加する####
new_line="さしすせそ\r\n"
add=read_file.append(new_line)
print(read_file)
#############################
###データを保存する####
wf_name="write.txt"
w_path=path.join(path.dirname(__file__),wf_name)
w_txt = codecs.open(w_path, 'w', 'UTF-8')
for x in read_file:
w_txt.write(x)
w_txt.close()
#######################
読み込んだテキストデータ【read.txt】
あいうえお
かきくけこ
実行結果&解説
【実行結果】
【解説】
15行目まででread.txtを読み込んでいます。自作モジュールyomikomiはパス指定をするとリスト形式でデータを出力します。詳細はこちらを参照ください。
16行目で読み込んだテキストをプリントしています。「かきくけこ」の最後に¥r¥nがないことに注目してください。¥r¥nは改行を示しますが、読み込んだread.txtの最後に改行がないため表示されません。
19~26行目で「かきくけこ」に¥r¥nを追加しています。ここで追加せずにテキストデータを保存すると「かきくけこさしすせそ」と表示されてしまいます。
28~32行目で「さしすせそ¥r¥n」を追加しています。¥r¥nを最後に追加したので保存されたwrite.txtは最後に改行を含みます。
36~43でwite.txtにデータを保存しています。
【write.txt】
あいうえお
かきくけこ
さしすせそ
あとがき
何気なく普段テキストを書いていますがpythonで保存する場合は改行も明示する必要があります。
【参考】
【python】¥r¥nとか\nとか何なの!?
【python】ファイルパス(path)の指定方法
-
前の記事
【python】¥r¥nとか\nとか何なの!? 2020.11.22
-
次の記事
【python】フォルダを空にしたい 2021.03.06