ファイルI/O


📖 ファイルI/O
ファイルオブジェクト(file object)を使用して、プログラムとファイル間のI/O操作、すなわちファイルに格納されているコンテンツの読み取りと書き込みを行うことができます.
📖 ファイルを開く、作成→開く()
Open():ファイルを開く
🔷 構文
퍼일객체 = open(파일, 파일모드)
🔷 ファイルモード
  • r(読み込みモード):デフォルトは
  • です.
  • w(書き込みモード):書き込みモード(上書き)
    ファイルが既に存在する場合は、カーソル位置が一番前に移動し、上書きされます.
    ファイルがない場合は、新しいファイル
  • が作成されます.
  • a(アプリケーションモード):書き込みモード(連写)
    ファイルが既に存在する場合、カーソル位置はファイル内容の末尾にあり、
  • への書き込みを継続する.
  • x(Exclusiveモード):ファイルが存在しない場合はファイルを作成し、書き込みモードで開く
    ファイルが既に存在する場合は、エラー
  • が返されます.
  • +(更新モード):読み取りと書き込みのためにファイルを開きます.
  • t(テキストモード):テキストモードで開く(デフォルト)
  • b(バイナリモード):
  • をバイナリモードで開く
    📌 個別に記入しない場合は、テキストモード(t)で開く
    📌 ex)バイナリモードで開く場合はrbと入力します
    🔷 例文
    入力
    score_file = open("score.txt", "w", encoding="utf8")
    
    score_file.close()
    💻 しゅつりょく
    このパスの「score」は、
  • open()関数によって取得される.
  • は書き込みモードで開き、「txt」という名前です.
  • close()を使用して
  • を閉じる
    📖 書き込みファイル-write()、print()
    🔷 構文
    파일객체.write("문자열")          # write 사용시
    print("문자열", file="파일객체")  # print 사용시
    🔷 例文
    入力
    score_file = open("score.txt", "w", encoding="utf8")
    
    score_file.write("수학: 0\n")       # write 사용시
    score_file.write("과학: 100\n")
    
    print("수학: 0", file=score_file)   # print 사용시
    print("과학: 100", file=score_file)
    
    score_file.close()
    💻 しゅつりょく
    このパスの「score」は、
  • open()によって取得される.
  • は書き込みモードで開き、「txt」という名前です.
  • writeを使用文字列入力印刷入力文字列
  • を使用
  • close()を使用して
  • を閉じる
    📖 ファイル1-read()の読み込み
    read():ファイル内のすべてのコンテンツを取得し、文字列に戻ります.
    🔷 構文
    변수 = 파일객체.read()
    🔷 例文
    入力
    score_file = open("score.txt", "r", encoding="utf8")
    
    i = score_file.read()
    print(i)
    
    print(type(i)) # 타입 확인용
    
    score_file.close()
    💻 しゅつりょく
    수학: 0
    과학: 100
    수학: 0
    과학: 100
    
    <class 'str'>
    このパスの「score」は、
  • open()によって取得される.
  • 読み取りモードで「txt」というテキストファイルを開く
  • read()で読み出す(行全体)を変数iの
  • に入れる.
  • 印刷()出力「i」
  • close()を使用して
  • を閉じる
    📖 ファイル読み込み2-readline()
    readline():ファイルの内容を行単位で取得し、文字列としてファイルの末尾(EOF)に戻し、インポートする行がなくなった場合はNoneを返します.
    🔷 構文
    변수 = 파일객체.readline()
    🔷 例文.
    入力
    score_file = open("score.txt", "r", encoding="utf8")
    
    i = score_file.readline()
    print(i)
    
    score_file.close()
    💻 しゅつりょく
    수학: 0
    このパスの「score」は、
  • open()によって取得される.
  • 読み取りモードで「txt」というテキストファイルを開く
  • readline()で読み取った(単行)を変数iの
  • に入れる.
  • 印刷()出力「i」
  • close()を使用して
  • を閉じる
    🔷 例文2-行ごとに読み取る
    入力
    score_file = open("score.txt", "r", encoding="utf8")
    
    print(score_file.readline(), end="")
    print(score_file.readline(), end="")
    print(score_file.readline(), end="")
    print(score_file.readline(), end="")
    
    score_file.close()
    💻 しゅつりょく
    수학: 0
    과학: 100
    수학: 0
    과학: 100
    このパスの「score」は、
  • open()によって取得される.
  • 読み取りモードで「txt」というテキストファイルを開く
  • 印刷()は、readline()で読み取る(単行)*行数
  • を出力する.
  • closeを使用して
  • を閉じる
    📌 print()を使用すると自動的に改行されます.改行したくない場合はend=""を使用します.
    🔷 用例3-while反復文
    入力
    score_file = open("score.txt", "r", encoding="utf8")
    
    while True:
        i = score_file.readline()
        if not i:
            break
        print(i, end='')
        
    print(type(i)) # 타입확인용
    
    score_file.close()
    💻 しゅつりょく
    수학: 0
    과학: 100
    수학: 0
    과학: 100
    <class 'str'>
    このパスの「score」は、
  • open()によって取得される.
  • 読み取りモードで「txt」というテキストファイルを開く
  • readline()で読み取った(単行)を変数iの
  • に入れる.
  • while行がないまで文を繰り返し、
  • を繰り返します.
  • 回線がない場合、while繰返し文が終了し、印刷()出力「i」
  • close()を使用して
  • を閉じる
    📖 ファイルを読み込む3-readline()
    readlines():ファイル内のすべての行を順次取得し、1つのリストを1つの要素として保存し、各行を1つのリストとして保存し、全行文字("n")を返すことに注意してください.
    🔷 構文
    변수 = 파일객체.readlines()
    🔷 例文.
    入力
    score_file = open("score.txt", "r", encoding="utf8")
    
    i = score_file.readlines()
    print(i)
    
    print(type(i)) # 타입확인용
    
    score_file.close()
    💻 しゅつりょく
    ['수학: 0\n', '과학: 100\n', '수학: 0\n', '과학: 100\n']
    <class 'list'>
    このパスの「score」は、
  • open()によって取得される.
  • 読み取りモードで「txt」というテキストファイルを開く
  • readlines()で読み取った(行全体)を変数iの
  • に入れる.
  • 印刷()出力「i」
  • close()を使用して
  • を閉じる
    🔷 例文2
    入力
    score_file = open("score.txt", "r", encoding="utf8")
    
    i = score_file.readlines()
    for p in i:
        print(p, end="")
    
    print(type(i)) # 타입확인용
    
    score_file.close()
    💻 しゅつりょく
    수학: 0
    과학: 100
    수학: 0
    과학: 100
    <class 'list'>
    このパスの「score」は、
  • open()によって取得される.
  • 読み取りモードで「txt」というテキストファイルを開く
  • readlines()で読み取った(行全体)を変数iの
  • に入れる.
  • for文変数「i」を要素として「p」に入れ、
  • を出力(印刷)する.
  • すべての要素を出力した後、close()を使用して
  • を閉じます.
    📖 ファイルを閉じる-close()
    🔷 構文
    파일객체.close()