ファイルのパスを組み立てる
ファイルのパスはOSに依存するため、osモジュールを使うとよいです。
import os
os.path.join(os.sep,"etc","hosts")
出力
"/etc/hosts"
先頭についているos.sepはルートディレクトリを表しています。
テキストファイルの操作
ファイルを操作する際にはwith文を使うと、withブロックを受けたときにファイルを勝手に閉じてくれます。
ファイルの読み込み
オープン関数の第二引数を”r“にすると読込み専用で開くことができます。
日本語などの非アスキー文字が含まれる場合には、encoding引数を指定する必要があります。
with open("file_path.txt", "r", encoding="utf-8") as f:
print(f.read())
windowsで使われるシフトJISはencoding引数にcp932を指定すると読み込むことができます。
ファイルの書き込み(上書き)
オープン関数の第二引数を”w“にすると書込み(上書き)モードで開くことができます。
with open("file_path.txt", "w") as f:
f.write("overwirte contents")
ファイルの書き込み(追記)
オープン関数の第二引数を”a“にすると書込み(追記)モードで開くことができます。
with open("file_path.txt", "a") as f:
f.write("add text contents")
CSVファイルの操作
CSVファイルを開くときもwith句を使い、csvモジュールはwith句の内側で利用します。
CSVファイルの読み込み
csv.readerのdelimiterでは区切り文字を指定しています。
読み取ったデータはリスト型となります。
import csv
with open("file_path.csv", "r") as f:
r = csv.reader(f, delimiter = ",")
for row in r:
print(row)
出力
['1', '2', '3']['a', 'b', 'c']
CSVファイルの書き込み
読込みと同様にcsv.writerのdelimiterでは区切り文字を指定しています。
書き込むデータはリスト型で渡します。
import csv
with open("file_path.csv", "a") as f:
a = csv.writer(f, delimiter = ",")
a.writerow(["4", "5", "6"])
ファイルの中身
1,2,3
a,b,c
4,5,6
参考文献
コメント