본문 바로가기
728x90

전체 글389

[파이썬][중급] Chapter43. pickle을 활용한 객체 직렬화 객체 직렬화(Serialization)는 객체를 파일로 저장하거나 네트워크로 전송할 수 있도록 이진 형식으로 변환하는 과정입니다. 파이썬에서는 pickle 모듈을 통해 객체를 간단하게 직렬화하고 복원할 수 있습니다.● 객체 직렬화하기 (dump)import pickledata = {"name": "Alice", "age": 30, "scores": [90, 85, 88]}with open("data.pkl", "wb") as f: pickle.dump(data, f)wb 모드로 파일을 열어 dump()를 사용하면 객체를 바이너리 파일로 저장할 수 있습니다.● 직렬화된 객체 복원하기 (load)with open("data.pkl", "rb") as f: loaded_data = pickle.lo.. 2025. 5. 24.
[파이썬][중급] Chapter42. subprocess로 외부 명령 실행 파이썬에서 외부 프로그램이나 시스템 명령어를 실행하고 결과를 가져오기 위해서는 subprocess 모듈을 사용합니다. 이 모듈은 시스템 명령을 파이썬에서 자동화하거나, 외부 유틸리티와 상호작용할 때 유용합니다.● 간단한 명령 실행import subprocesssubprocess.run(["ls", "-l"])subprocess.run()은 명령을 실행하고 완료될 때까지 기다립니다. 리스트 형식으로 명령과 인자를 나누어 전달해야 합니다.● 명령 실행 결과 가져오기result = subprocess.run(["echo", "Hello"], capture_output=True, text=True)print(result.stdout) # Hellocapture_output=True를 설정하면 표준 출력과 표준.. 2025. 5. 24.
[파이썬][중급] Chapter41. 압축 파일 처리 (zipfile, tarfile) 파이썬은 표준 라이브러리로 ZIP, TAR 등의 압축 파일을 읽고 쓰는 기능을 제공합니다. zipfile과 tarfile 모듈을 사용하면 손쉽게 압축 파일을 생성하거나 해제할 수 있습니다.● zipfile 모듈로 ZIP 압축 해제import zipfilewith zipfile.ZipFile("archive.zip", "r") as zip_ref: zip_ref.extractall("extracted/")extractall()은 압축 파일 안의 모든 파일을 지정된 경로로 풀어줍니다.● ZIP 파일 생성with zipfile.ZipFile("my_archive.zip", "w") as zip_out: zip_out.write("file1.txt") zip_out.write("file2.txt.. 2025. 5. 24.
[파이썬][중급] Chapter40. 파일 입출력 고급 기법 파이썬의 파일 입출력(I/O)은 기본적인 open() 함수 외에도 다양한 고급 기능들을 제공합니다. 특히 바이너리 파일 처리, 인코딩 설정, 버퍼링 제어, 대용량 파일 처리 등에 대한 이해는 실무에서 매우 중요합니다.● 다양한 인코딩 처리파일을 읽거나 쓸 때 인코딩을 명시하지 않으면 시스템 기본값이 사용되므로, 명시적으로 encoding을 지정하는 것이 좋습니다.with open("data.txt", "r", encoding="utf-8") as f: content = f.read()특수 문자나 한글이 포함된 파일은 UTF-8 또는 CP949 등을 상황에 따라 선택해야 합니다.● 바이너리 파일 처리이미지나 영상 등의 바이너리 데이터를 처리할 때는 "rb", "wb" 모드를 사용합니다.with ope.. 2025. 5. 24.
[파이썬][중급] Chapter39. 파일 경로 처리와 pathlib 모듈 pathlib는 파일과 디렉토리 경로를 객체지향 방식으로 처리할 수 있도록 해주는 표준 라이브러리입니다. 문자열 기반의 os.path보다 직관적이고 유연하며, 다양한 플랫폼에서 동일한 코드를 사용할 수 있습니다.● Path 객체 생성from pathlib import Pathp = Path("example.txt")print(p.name) # 파일 이름print(p.suffix) # 확장자print(p.stem) # 확장자 제외한 이름Path 객체는 경로 정보를 여러 속성으로 분리해서 다룰 수 있습니다.● 경로 결합base = Path("/home/user")file_path = base / "documents" / "file.txt"print(file_path) # /home/use.. 2025. 5. 24.
[파이썬][중급] Chapter38. 예외 처리 심화와 사용자 정의 예외 예외 처리(Exception Handling)는 프로그램 실행 중 발생할 수 있는 오류 상황을 제어하는 방법입니다. 파이썬은 try-except 문 외에도 finally, else, 사용자 정의 예외 등 다양한 고급 기능을 제공합니다.● 예외 처리 구조 복습try: result = 10 / 0except ZeroDivisionError: print("0으로 나눌 수 없습니다.")finally: print("항상 실행됨")finally 블록은 예외 발생 여부와 관계없이 반드시 실행됩니다. else는 예외가 발생하지 않았을 때만 실행됩니다.● 다중 예외 처리try: x = int("abc")except (ValueError, TypeError) as e: print(f"예외 발생:.. 2025. 5. 24.
728x90