サンプルコード集 (ファイル入出力)

トップページ>サンプルコード集 (ファイル入出力)

サンプルコード集

◯こちらのサンプルコードは指導等にご自由にお使いください。


【サンプルコードの使い方】
◯サンプルコードを写す時はコピペをしないようにしましょう。
◯▶を押すと出力が表示されます。
◯Geminiボタンを押すとGemini(AI)による解説が表示されます。間違っていることもあるので、疑問に思った場合はご質問ください。


【要素ごとのサンプルコードページへ移動】
全て
if文
for文
関数
配列
ファイル入出力
Numpy
Matplotlib
openpyxl
Pandas
正規表現
Biopython
scikit-learn
seaborn
Graphviz
Gemini
Tkinter

【Code List】

CODE: 8-1 (ファイル入出力)

CODE: 8-2 (ファイル入出力)

CODE: 9-1 (ファイル入出力)

CODE: 9-2 (ファイル入出力)



CODE: 8-1 (ファイル入出力)


# ---- Config ----

FILE_NAME = "8-1_output.txt"


def main():
    s = "40 92 20 44 91"

    fname = FILE_NAME
    f = open(fname, mode="w")
    f.write(s)
    f.close()

    return(0)


main()




【ポイント】
◯open()は必ずmodeを指定しよう。(読み込みは"r", 書き込みは"w")
◯open()の後はclose()で必ず閉じること!
◯with open()を使ってもよい。
◯参考: https://note.nkmk.me/python-file-io-open-with/
◯生成ファイル: https://python.hisakatano.com/data/8-1_output.txt




CODE: 8-2 (ファイル入出力)


# ---- Config ----

FILE_NAME = "8-1_output.txt"


def main():
    fname = FILE_NAME
    f = open(fname, mode="r")
    s = f.read()
    f.close()
    s_list = s.split(" ")
    print(s_list)

    return(0)


main()




CODE: 9-1 (ファイル入出力)


import random

# ---- Config ----

FILE_NAME = "9-1_output.txt"
ROWS = 3
COLUMNS = 5


def make_rand_table(rows, cols):
    datalist = []
    for i in range(0, rows):
        d = []
        for j in range(0, cols):
            d.append(str(random.randint(1, 100)))
        datalist.append(d)

    return(datalist)


def write_file(datalist, fname):

    table_str = ""

    rows = len(datalist)
    for i in range(0, rows):
        table_str += " ".join(datalist[i]) + "\n"

    f = open(fname, mode="w")
    f.write(table_str)
    f.close()

    return(0)


def main():
    rows = ROWS
    cols = COLUMNS
    datalist = make_rand_table(rows, cols)
    print(datalist)

    fname = FILE_NAME
    write_file(datalist, fname)

    return(0)


main()





【ポイント】
◯グローバル変数は目立つように、全て大文字にする。
◯join()はsplit()と対になる関数。(頻出!!)
参考: https://qiita.com/conf8o/items/d57f74b4bcb67882be37

◯len(配列)とすることで、配列の大きさを取得することができる。

◯今回の配列は二次元配列といい、配列の要素の一つ一つが配列になっている。
参考: https://www.sejuku.net/blog/67215





CODE: 9-2 (ファイル入出力)


# ---- Config ----

FILE_NAME = "9-1_output.txt"


def read_file(fname):
    f  = open(fname, mode="r")
    table_str = f.read()
    f.close()

    datalist = []

    lines = table_str.split("\n")
    rows = len(lines)
    for i in range(0, rows):
        if ( lines[i]=="" ):
            continue
        d = lines[i].split(" ")
        datalist.append(d)

    return(datalist)


def main():
    fname = FILE_NAME

    datalist = read_file(fname)
    print(datalist)

    return(0)


main()