Python でファイルにリストを書き込む
このチュートリアルでは、Python でファイルにリストを書き込む方法を説明します。リストをファイルに書き込む方法は複数ありますので、チュートリアルでは様々なコード例を挙げて説明しています。
ループを使って Python でファイルにリストを書く
リストをファイルに書き込むためにループを使用することは非常に些細なことであり、最もよく使われる方法です。ループを用いてリストの項目を反復処理し、write()
メソッドを用いてリストの項目をファイルに書き込む。
ファイルを開くには open()
メソッドを用います。ファイルを開くモードは write
の略である w
とします。
例のコードを以下に示します。
listitems = ["ab", "cd", "2", "6"]
with open("abc.txt", "w") as temp_file:
for item in listitems:
temp_file.write("%s\n" % item)
file = open("abc.txt", "r")
print(file.read())
出力:
{'6','2', 'ab', 'cd'}
Python 2.x の場合は、以下のような方法もあります。
listitems = ["ab", "cd", "2", "6"]
with open("xyz.txt", "w") as temp_file:
for item in listitems:
print >> temp_file, item
どちらのコードも、Python でファイルにリストを書き込む結果になります。
Python で Pickle
モジュールを使用してファイルにリストを書き込む
Python の Pickle
モジュールは、Python のオブジェクト構造をシリアライズしたり、デシリアライズしたりするために使われます。同じ Python ファイルの中で後で使うためにリストをシリアライズしたい場合、pickle
を使用することができます。pickle
モジュールはバイナリプロトコルを実装しているので、ファイルはバイナリ書き込みモード - wb
で開かなければならません。
pickle.dump()
メソッドはファイルにリストを書き込むのに使われます。これはファイルのリストと参照をパラメータとして受け取ります。
このアプローチのコード例を以下に示します。
import pickle
listitems = ["ab", "cd", "2", "6"]
with open("outputfile", "wb") as temp:
pickle.dump(listitems, temp)
with open("outfile", "rb") as temp:
items = pickle.load(temp)
print(items)
出力:
{'ab','cd', '6', '2'}
join()
メソッドを使用してリストをファイルに書き込む
Python でリストをファイルに書き込むもう一つの簡単な方法は join()
メソッドを使用することです。これはリストの項目を入力として受け取ります。
このメソッドを使用するコードの例を以下に示します。
items = ["a", "b", "c", "d"]
with open("outputfile", "w") as opfile:
opfile.write("\n".join(items))
JSON
モジュールを使ってファイルにリストを書き込む
Python では pickle
モジュールの使用は非常に特殊です。JSON はさまざまなプログラムをより効率的でわかりやすくします。JSON
モジュールは混合変数型をファイルに書き込むために使われます。
これは dump()
メソッドを用いて、要素のリストとファイルへの参照を入力として受け取ります。
コードの例を以下に示します。
import json
itemlist = [21, "Tokyo", 3.4]
with open("opfile.txt", "w") as temp_op:
json.dump(itemlist, temp_op)
print(templist)
出力:
[21, "Tokyo", 3.4]
Syed Moiz is an experienced and versatile technical content creator. He is a computer scientist by profession. Having a sound grip on technical areas of programming languages, he is actively contributing to solving programming problems and training fledglings.
LinkedIn関連記事 - Python List
- Python でリストから要素の出現をすべて削除する
- Python で辞書をリストに変換する
- Python でリストから重複を削除する
- Python でリストの平均を取得する方法
- リストメソッドの追加と拡張の違いは何ですか
- Python でリストを文字列に変換する方法