이 영역을 누르면 첫 페이지로 이동
butter_shower 블로그의 첫 페이지로 이동

butter_shower

페이지 맨 위로 올라가기

butter_shower

Computer Engineering/Python

  • butter_shower
파이썬에서 백업 파일 및 임시 파일 생성하는 방법

파이썬에서 백업 파일 및 임시 파일 생성하는 방법

2024.02.20
가끔가다가 파일을 읽고 저장하는 과정에서 오류가 발생할 시 파일이 손상되어 더이상 사용할 수 없게 되는 경우들이 발생할 수 있다. 이를 위해 기존 파일에 대한 백업파일을 생성하고, 임시 파일에서 write 작업을 한뒤 기존 파일로 교체해주는 작업을 해줄 수 있다. 1. 백업 파일 생성하는 방법 파이썬의 shutil 라이브러리 내 .copy 함수를 이용하여 백업 파일을 생성하면 된다. import shutil path = '/path/to/data.pkl' # 임시 및 백업 경로 설정 temp_path = path + '.temp' backup_path = path + '.backup' # 백업 파일 생성 shutil.copy(path, backup_path) 2..
파이썬에서 효율적으로 메모리 관리하는 방법 - del, 제너레이터, 가비지컬렉션

파이썬에서 효율적으로 메모리 관리하는 방법 - del, 제너레이터, 가비지컬렉션

2023.07.13
파이썬은 개발자가 직접 메모리를 관리하는 대신 언어 자체가 대부분의 메모리를 관리해 따로 처리할 필요가 없긴 하나, 코드가 길어지거나 다루는 데이터가 방대하거나 메모리 자원이 한정적일 때 파이썬에서도 메모리 사용을 최적화해주는 것이 필요하다. 1. 사용하지 않는 객체 dealloc 메모리 사용량을 줄이는 가장 간단한 방법은 사용하지 않는 객체를 삭제하는 것이다. del 키워드를 사용하여 수행할 수 있다. a = [1, 2, 3, 4, 5, ...., 100000000] # 객체 삭제 del a 더이상 a 객체가 필요하지 않을 때 del 키워드를 사용할 수 있다. 2. 제너레이터 사용 만약 리스트에 많은 양의 데이터가 들어가게 되는 경우 제너레이터를 사용하는 방법도 좋은 고려방안이다. 제너레이터는 필요할때..
[Pythonic한 코드 작성하기] 파이썬의 자식 프로세스 관리 모듈, subprocess

[Pythonic한 코드 작성하기] 파이썬의 자식 프로세스 관리 모듈, subprocess

2021.04.21
파이썬에서는 자식 프로세스 실행과 관리용 라이브러리를 가지고 있습니다. 따라서 명령줄 유틸리티 같은 도구들을 연계하는데 아주 좋은 언어입니다. 기존 셸 스크립트가 시간이 지나면서 점점 복잡해지면 파이썬 코드로 재작성하여 가독성과 유지보수성을 확보하는 것도 좋은 아이디어입니다. 파이썬으로 시작한 자식 프로세스는 병렬로 실행할 수 있어, CPU코어를 모두 이용해 프로그램의 처리량을 극대화할수도 있습니다. 파이썬 자체는 CPU속도에 의존할 수도 있지만, 파이썬을 사용하면 CPU를 많이 사용하는 작업을 관리하고 조절하기가 쉽습니다. 수년간 파이썬에서는 popen, popen2, os.exec*를 비롯하여 서브프로세스를 실행하는 방법이 여러개 있어왔다. 최근(...이라고 하기도 좀 그렇지만) 파이썬에서 자식 프로..
[Pythonic한 코드 작성하기] Python의 가변 인수(*args)와 키워드 인수에 대해 파헤쳐보자

[Pythonic한 코드 작성하기] Python의 가변 인수(*args)와 키워드 인수에 대해 파헤쳐보자

2021.02.25
c에서는 *args라는 변수로 매개변수를 받습니다. 파이썬에서도 비슷하게 가변 인수를 제공하고있는데요, 이번 시간에는 가변 인수와 키워드 인수에 대해서 어떻게 파이써닉한 코드를 작성할 수 있을지 알아봅시다! 가변 위치 인수로 코드를 깔끔하게 보이게 하자 선택적인 위치 인수, 이런 파라미터들을 관례적으로 *args라고 해서 종종 star args라고 합니다. 이런 가변 인수를 받게 만들면 함수의 호출을 더 명확하게 할 수 있고 읽기 힘든 요소들을 없앨 수 있습니다. 아래와 같은 함수가 있다고 해봅시다. def func(message, value): if not values: print(message) else: values_str = ', '.join(str(x) for x in values) print(..
[Pythonic한 코드 작성하기] 리스트 컴프리헨션 (list comprehension)

[Pythonic한 코드 작성하기] 리스트 컴프리헨션 (list comprehension)

2021.02.03
참고 : 이펙티브 파이썬 1. map과 filter 함수 대신 리스트 컴프리헨션을 사용하자 파이썬에서는 한 리스트를 다른 리스트로 만들어주는 간결한 문법이 있습니다. 이 문법을 사용한 표현식을 리스트 컴프리헨션(list comprehension; 리스트 함축 표현식)이라고 합니다. 예를 들자면 아래와 같습니다. nums = [x for x in range(1, 10)] 간단한 연산에서는 리스트 컴프리헨션이 내장함수 map모다 훨씬 명확합니다. map을 사용하려면 lambda 함수를 사용해야해서 깔끔해보이지 않고, 직관적이지 않습니다. nums = map(lambda x : x, a) 리스트 컴프리헨션에는 조건도 간단하게 작성할 수 있습니다. 짝수만 걸러내는 리스트를 만든다면 아래와 같은 코드가 나옵니다...
파이썬에서 Generator란?

파이썬에서 Generator란?

2021.01.27
파이썬을 그냥 아무생각하지 않고 지내다가 다른 사람들의 코드를 보면 같은 언어가 맞자 싶을 때가 종종 있는 것 같습니다 (ㅎㅎ??) 최근에는 그것이 바로 yield를 만났을 때였는데, Generator라는 친숙하면서도 생소한 개념을 정리하고자 이렇게 글을 남깁니다! Generator란? Generator에 대해서 이해하기 전에 먼저 iterator부터 알고 갑시다! Iterator란? 반복 가능한 객체, 즉 반복문을 활용하여 데이터를 순회하면서 처리할 수 있는 객체를 의미합니다. 아래 예시 코드를 한번 살펴봅시다. >>> a_tuple = (1, 2, 3) >>> b_iterator = iter(a_tuple) >>> print(b_iterator.__next__()) 1 >>> print(b_itera..
파이썬에서 Generator란? (feat. yield 함수)

파이썬에서 Generator란? (feat. yield 함수)

2021.01.09
파이썬을 그냥 아무 생각 하지 않고 지내다가 다른 사람들의 코드를 봤을 때 새로운 예약어를 많이 만나게 됩니다. 최근에는 그때 바로 이 yield 함수를 만났었는데요, Generator라는 익숙하면서도 새로웠던 개념이기 때문에 한번 정리하고자 이렇게 글을 씁니다!! Generator란? Generator에 대해서 이야기하기 전에 Iterator에 대해서 먼저 알고 갑시다. Iterator란? 반복 가능한 객체, 즉 반복문을 이용하여 데이터를 순회하면서 처리하는 것을 의미합니다. 한번 아래 예시를 봅시다. a_tuple = (1, 2, 3) b_iterator = iter(a_tuple) # tuple -> iterable -> iterator 반환 print(next(gen)) print(next(gen..
파이썬에서 노션 API를 사용하여 뉴스 크롤링한 정보를 노션에 업로드하기 (notion-py)

파이썬에서 노션 API를 사용하여 뉴스 크롤링한 정보를 노션에 업로드하기 (notion-py)

2020.12.27
notion-py Unofficial Python3 client for Notion.so API 관련 문서 : pypi.org/project/notion-py/ notion-py (Fork of) Unofficial Python API client for Notion.so pypi.org 파이썬에서 노션을 핸들링할 수 있는 notion-py 라이브러리는 비공식 노션 API를 제공하는 라이브러리입니다. 약간의 코드만 작성하면, 자동으로 노션을 쉽게 핸들링할 수 있기 때문에 매우 간단하고 강력한! API라고 생각합니다. :) 비록 비공식 노션 라이브러리지만, 아직까지 잘 사용되고 있고, 노션에서 나중에 api를 제공할지는 미지수이기때문에 적어도 공식 라이브러리가 나오기 전까지는 유용하게 사용할 수 있지 않을..
  • 최신
    • 1
  • 다음

정보

butter_shower 블로그의 첫 페이지로 이동

butter_shower

  • butter_shower의 첫 페이지로 이동

검색

메뉴

  • All Categories
  • About Me
  • Guest Book

카테고리

  • 전체보기 (223)
    • 💫 주인장 이야기 (17)
    • 🌱 와글와글뻘글 (27)
    • IT Trends (11)
    • 주인장 일상 (0)
    • 📒 내 마음대로 독서 서평 (12)
    • 머신러닝 꿈나무 (30)
      • 기본 개념 (6)
      • Hands-on! (5)
      • Paper Review (5)
      • 캐린이의 Kaggle (1)
    • 알고리즘 Algorithm (33)
      • PS (8)
    • Computer Engineering (75)
      • Python (8)
      • Cloud Computing (9)
      • C (9)
      • C++ (0)
      • Java (6)
      • Django 장고 (4)
      • 임베디드 시스템 (10)
      • 병렬 처리(Parallel Processing) (9)
      • 데이터 통신 Data communication (4)
      • 유닉스 시스템 (Unix System) (3)
      • GitHub (1)
      • 마이크로 프로세서 (micro processor) (1)
      • 데이터 마이닝 (1)
    • Error Note 🚨 (3)
    • 영어 공부 (6)
      • Live Academy (6)
    • HOBBY (2)
      • Film Log (2)

최근 글

정보

_rian의 butter_shower

butter_shower

_rian

나의 외부 링크

  • Github
  • Facebook
  • Instagram
  • LinkedIn
  • Twitter

블로그 구독하기

  • 구독하기
  • RSS 피드

방문자

  • 전체 방문자
  • 오늘
  • 어제

티스토리

  • 티스토리 홈
  • 이 블로그 관리하기
  • 글쓰기
Powered by Tistory / Kakao. © _rian. Designed by Fraccino.

티스토리툴바