안녕하세요 Laeto입니다. 이번 글에서는 shutil을 이용하여 파일을 이동, 복사하는 방법에 대해 다뤄보겠습니다. 1. 파일 이동: shutil.move() import shutil shutil.move('/tmp/my_test.txt', '/tmp/my_test_moved.txt') 1.1 폴더 안으로 파일 옮기기 import shutil shutil.move('/tmp/my_test2.txt', "/tmp/test_dir") 2. 디렉토리 이동: shutil.move() import shutil shutil.move("/tmp/test_dir", "/tmp/test_dir_moved") 3. 파일 복사: shutil.copy() import shutil shutil.copy('./current/p..
파이썬은 생산성이 높은 언어지만, 느리다는 단점이 있습니다. Python은 인터프리터 언어로서 C/C++/Fortran과 같은 컴파일 언어에 비해 느리지만 Python code를 LLVM 컴파일러를 이용해 머신 코드로 바꾸어 수치연산을 가속화해주는 Numba compiler가 존재합니다. Numba는 수치 계산에 초점을 맞춘 파이썬을 위한 오픈 소스 JIT(Just-In Time) compiler로 2012년 컨티넘 애널리틱스(현 Anaconda)에서 처음 만들었습니다. Numba 라이브러리의 주요 특징으로는, 전체 애플리케이션, 프로그램이 아닌 @jit, @njit decorator로 장식된 함수에 대해서만 별도로 컴파일합니다. Python은 보통 인터프리터 CPython을 사용하는데, Numba는 별..
str, __str__ str은 입력 받은 객체의 문자열 버전을 반환하는 함수다. 이때 주목할 점은 str은 사실 내장 함수가 아니고, 파이썬 기본 내장 클래스라는 것이다. repr, __repr__ repr은 'Representation'의 약자로 이 단어는 '표현하다'라는 뜻을 가지고 있습니다. 표현은 어떤 객체의 '본질'보다는 외부에 노출되는, 사용자가 이해할 수 있는 객체의 모습을 표현합니다. repr 함수는 어떤 객체의 '출력될 수 있는 표현'(printable representation)을 문자열의 형태로 반환합니다. 다시 말해 객체를 설명해줄 수 있는, 그리고 화면에 출력될 수 있는 문자열 표현을 반환하는 것입니다. 어떤 객체를 인자로 해서 repr 함수를 실행하면 해당 객체의 클래스에 정의..
효율적인 프로그래밍을 위해 병렬 프로그래밍을 하곤 합니다. joblib은 파이썬 프로그래밍에서 병렬처리를 가능하게 만들어줍니다. 파이썬에는 병렬 연산 디폴트 패키지로 multiprocessing이 있습니다. multiprocessing은 pandas의 DataFrame을 다루는 데에 유용하며, joblib은 일반적인 python 코딩에 두루 쓰입니다. joblib의 dump, load 메소드는 python 객체를 저장하거나 불러오게끔 할 수 있습니다. 본 게시물에서는 병렬 처리를 도와주는 joblib의 Parallel, delayed에 대한 설명을 하도록 하겠습니다. 설치 pip install joblib Thread 기반 병렬 처리 vs Process 기반 병렬 처리 joblib.Parallel은 기본..