Pythonファイル


ファイルを開く、閉じる
ファイルを読み込む/書き込む前にopen関数を使用してファイルを開き、ファイルオブジェクトを取得する必要があります.次に、ファイルの読み取り/書き込み操作が完了した場合は、ファイルオブジェクトを閉じる必要があります.
# 파일을 사용한 뒤 자동으로 파일 객체를 닫아줌
  with open(파일이름, 파일모드) as 파일객체: 
      코드

Pythonで文字列をファイルに書き込む


ファイルオブジェクト=open(ファイル名、ファイルモード)
ファイル・オブジェクト.write(「文字列」)
ファイル・オブジェクト.close()
file = open('hello.txt', 'w')    # hello.txt 파일을 쓰기 모드(w)로 열기. 파일 객체 반환
file.write('Hello, world!')      # 파일에 문자열 저장
file.close()                     # 파일 객체 닫기
# 코드를 작성한 파일이 들어가있는 폴더에 해당 파일(hello.txt)가 생성되어
#.write()로 작성한 문자열이 저장되어있다.

ファイルから文字列をPythonに読み込む


変数=ファイルオブジェクト.read()
with open('hello.txt', 'r') as file:    # hello.txt 파일을 읽기 모드(r)로 열기
   s = file.read()                     # 파일에서 문자열 읽기
   print(s)
  # 해당 파일을 읽고 저장된 문자열을 읽어 변수 s에 저장. Shell창에 s의 내용 출력

複数行の文字列を重複文でファイルに書き込む

with open('hello.txt', 'w') as file:    # hello.txt 파일을 쓰기 모드(w)로 열기
    for i in range(3):
        file.write('Hello, world! {0}\n'.format(i))
hello.txtファイルの内容:
Hello, world! 0
Hello, world! 1
Hello, world! 2

リスト内の文字列をファイルに書き込む


ファイル・オブジェクト.writeLines(文字列リスト)
writelineリストの文字列をファイルに書き込みます.writelinesを使用する場合は、リストの各文字列の末尾に開行文字nを付ける必要があります.それ以外の場合、すべての文字列が接着されて格納されます.
lines = ['안녕하세요.\n', '파이썬\n', '코딩 도장입니다.\n']

with open('hello.txt', 'w') as file:    # hello.txt 파일을 쓰기 모드(w)로 열기
    file.writelines(lines)
hello.txtファイルの内容:
こんにちは!
パイ
これはコードスタンプです.

ファイルの内容を行ごとにリストにインポート


変数=ファイルオブジェクト.readlines()
readはファイルの内容を読み取り文字列としてインポートするが、readlineはファイルの内容を行ごとにリスト形式でインポートする.
with open('hello.txt', 'r') as file:    # hello.txt 파일을 읽기 모드(r)로 열기
    lines = file.readlines()
    print(lines)
# 실행 결과
# ['안녕하세요.\n', '파이썬\n', '코딩 도장입니다.\n']

ファイルの内容を行単位で読み込む


変数=ファイルオブジェクト.readline()
readlineでファイルを読み込む場合はwhileで文を繰り返します.ファイルにどれだけの行文字列があるか分からないからです.
readlineは、行読み取りがない場合に空の文字列を返します.これを使用すると、while条件文は変数!=""として指定し、変数をNoneに初期化します.
with open('hello.txt', 'r') as file:    # hello.txt 파일을 읽기 모드(r)로 열기
   line = None    # 변수 line을 None으로 초기화
   while line != '':
       line = file.readline()
       print(line.strip('\n'))    # 파일에서 읽어온 문자열에서 \n 삭제하여 출력
# 실행 결과
#안녕하세요.
#파이썬
#코딩 도장입니다.

for動作単位でファイル内容を読み込む


for反復文でファイルオブジェクトを指定し、ファイル内容を動作単位で読み込みます.
with open('hello.txt', 'r') as file:    # hello.txt 파일을 읽기 모드(r)로 열기
   for line in file:    # for에 파일 객체를 지정하면 파일의 내용을 한 줄씩 읽어서 변수에 저장함
       print(line.strip('\n'))    # 파일에서 읽어온 문자열에서 \n 삭제하여 출력
# 실행 결과는 위의 readline()과 동일
ファイルオブジェクトはイテレーションです.したがって、複数の変数においてパッケージングを行わなくてもよい.逆に、割り当てる変数の数は、ファイルに格納されている文字列の行数と一致する必要があります.
Pythonオブジェクトをファイルに保存するプロセスをpickling、ファイルからオブジェクトを読み込むプロセスをunpicklingと呼びます.

Pythonオブジェクトをファイルに保存

import pickle

name = 'james'
age = 17
address = '서울시 서초구 반포동'
scores = {'korean': 90, 'english': 95, 'mathematics': 85, 'science': 82}

with open('james.p', 'wb') as file:    # james.p 파일을 바이너리 쓰기 모드(wb)로 열기
    pickle.dump(name, file)
    pickle.dump(age, file)
    pickle.dump(address, file)
    pickle.dump(scores, file)
を選択した場合.JAmesはpyファイルがあるフォルダにあります.pファイルを生成します.pickle.オブジェクト(値)をdumpに保存する場合は、「open」(「james.p」、「wb」)などのファイルモードを「wb」に指定する必要があります.bはバイナリファイルを表し、バイナリファイルはコンピュータ処理のファイルフォーマットである.そのため、手帳のようなテキストエディタを開いてもわかりにくい.テキスト(.txt)ファイルは、人に認識されやすいファイルフォーマットです.

ファイルからPythonオブジェクトを読み込む

import pickle

with open('james.p', 'rb') as file:    # james.p 파일을 바이너리 읽기 모드(rb)로 열기
   name = pickle.load(file)
   age = pickle.load(file)
   address = pickle.load(file)
   scores = pickle.load(file)
   print(name)
   print(age)
   print(address)
   print(scores)
 #실행 결과
james
17
서울시 서초구 반포동
{'korean': 90, 'english': 95, 'mathematics': 85, 'science': 82}