고양이 여름이의 지식채널

[Python] 파이썬 파일 다루기 (open(), read(), write(), csv, 압축, 암호화) 본문

Programming/Python

[Python] 파이썬 파일 다루기 (open(), read(), write(), csv, 압축, 암호화)

썸머캣 2023. 3. 8. 23:22

파이썬에서 파일 처리와 입출력 기능 (읽기, 쓰기, 열기)에 대해 알아보겠습니다.

 

파일 읽기

파이썬에서는 open() 함수를 사용하여 파일을 열고, read() 함수를 사용하여 파일을 읽을 수 있습니다.

예시로, test.txt 파일을 읽는 코드입니다.

with open("test.txt", "r") as file:
    content = file.read()
    print(content)

with 구문을 사용하여 파일을 자동으로 닫을 수 있도록 합니다. 이후 open() 함수를 사용하여 test.txt 파일을 읽기 모드("r")로 열고, read() 함수를 사용하여 파일 내용을 읽고 해당 내용을 출력합니다.

 

파일 쓰기

파이썬에서는 open() 함수를 사용하여 파일을 열고, write() 함수를 사용하여 파일에 내용을 쓸 수 있습니다.

test.txt 파일에 내용을 쓰는 코드를 작성해보겠습니다.

with open("test.txt", "w") as file:
    file.write("Hello, World!")

with 구문을 사용하여 파일을 자동으로 닫을 수 있도록 하고, open() 함수를 사용하여 test.txt 파일을 쓰기 모드("w")로 열고, write() 함수를 사용하여 파일에 "Hello, World!"라는 내용을 씁니다.

 

파일 처리

파이썬에서는 파일 처리를 위해 여러 가지 함수를 제공합니다. 예를 들어, readline() 함수를 사용하여 한 줄씩 파일을 읽을 수 있습니다.

with open("test.txt", "r") as file:
    line = file.readline()
    while line:
        print(line)
        line = file.readline()

open() 함수를 사용하여 test.txt 파일을 읽기 모드("r")로 열고, readline() 함수를 사용하여 파일을 한 줄씩 읽어옵니다. 그리고 while 반복문을 사용하여 모든 줄을 출력합니다.

 

# file 읽기 함수

  • readline() - 파일 한줄을 읽고 반환하고 한줄을 읽고 반환하고 반복,
  • readlines() - 파일 전체를 읽고 한줄씩 반환한다.
  • read() - 파일 전체를 읽고 하나의 문자열로 반환

 

반응형

 

CSV 파일처리

파이썬에서는 CSV 파일을 처리하기 위해 csv 모듈을 제공합니다.

import csv

# CSV 파일 읽기
with open("data.csv", "r") as file:
    reader = csv.reader(file)
    for row in reader:
        print(row)
        
###############

import csv

# CSV 파일 쓰기
with open("example.csv", "w", newline="") as file:
    writer = csv.writer(file)
    writer.writerow(["이름", "나이", "성별"])
    writer.writerow(["힐러리", "25", "여"])
    writer.writerow(["바이든", "32", "남"])

csv 모듈을 사용하여 data.csv 파일을 읽습니다. 이때 csv.reader() 함수를 사용하여 파일 내용을 읽어오고, for 반복문을 사용하여 각 행을 출력합니다.

csv.writer() 함수를 사용하여 파일 쓰기를 할 수 있습니다.

 

파일 압축

파이썬에서는 gzip, zipfile, tarfile 등의 모듈을 사용하여 파일을 압축할 수 있습니다.

import gzip

with open("test.txt", "rb") as file_in:
    with gzip.open("test.txt.gz", "wb") as file_out:
        file_out.write(file_in.read())

gzip 모듈을 사용하여 test.txt 파일을 gzip 형식으로 압축합니다.

이때 open() 함수를 사용하여 파일을 바이너리 모드("rb", "wb")로 열고, read() 함수write() 함수를 사용하여 파일을 읽고 쓰는 작업을 수행합니다.

 

파일 암호화

파이썬에서는 cryptography 모듈을 사용하여 파일을 암호화할 수 있습니다.

from cryptography.fernet import Fernet

with open("test.txt", "rb") as file_in:
    key = Fernet.generate_key()
    cipher = Fernet(key)
    encrypted_data = cipher.encrypt(file_in.read())
    with open("test.txt.enc", "wb") as file_out:
        file_out.write(encrypted_data)

cryptography 모듈Fernet 클래스를 사용하여 AES-256 알고리즘으로 파일을 암호화합니다. 이때 generate_key() 메소드를 사용하여 암호화에 사용할 키를 생성하고, encrypt() 메소드를 사용하여 파일을 암호화합니다. 그리고 암호화된 데이터를 test.txt.enc 파일에 저장합니다.

 

 

이처럼 파이썬에서는 파일 처리와 입출력 기능을 통해 다양한 작업을 수행할 수 있습니다.

 


 

[Python] 파이썬 DB 연동 및 sql 실행방법 (pymysql)

 

[Python] 파이썬 DB 연동 및 sql 실행방법 (pymysql)

이번에는 파이썬에서 데이터베이스 연동과 SQL 사용방법에 대해 알아보겠습니다. 데이터베이스 연결 파이썬에서 데이터베이스와 연동하려면, 우선 해당 데이터베이스에 맞는 드라이버를 설치

summer-cat93.tistory.com

 

 

728x90
반응형
Comments