파일 전체를 하나의 문자열로 읽어오는 작업은 Python의 read() 함수가 자동으로 처리해 줍니다. open()으로 파일을 연 뒤 파일 객체(핸들)에 대해 read() 함수를 호출하면, 파일의 전체 내용이 하나의 문자열로 읽혀 그대로 반환됩니다.예제with open(my_file.txt, r) as f: file_content = f.read() # 파일 전체를 file_content 문자열에 저장 print(file_content)코드 설명with 문을 사용하면 블록이 끝날 때 파일이 자동으로 닫히므로 별도로 f.cl
Python에서 파일을 읽을 때 read() 함수에 버퍼 크기를 지정하면 파일 전체가 아닌 원하는 만큼만 데이터를 읽어올 수 있습니다. 이때 인자로 전달하는 숫자는 파일 포인터의 현재 위치부터 읽어들일 바이트 수를 의미합니다.예제with open(my_file.txt, r) as f: print(f.read(10)) # 10바이트를 읽어 출력출력 결과파일의 내용이 Hello world!였다면 다음과 같은 결과가 출력됩니다.Hello worlread(n)은 호출될 때마다 n바이트씩 읽고 파일 포인터를 그만큼 앞으로 이동시킵니
Python에서 디렉토리 전체를 삭제하는 방법Python에서 폴더와 그 안에 포함된 모든 파일 및 하위 디렉토리까지 한 번에 삭제하려면 shutil 모듈의 rmtree() 함수를 사용하면 됩니다. 이 함수는 대상 디렉토리가 비어 있지 않더라도 재귀적으로 모든 내용을 제거합니다.1. 파일이 있는 디렉토리 삭제하기 — shutil.rmtree()삭제하려는 폴더 내부에 파일이나 다른 폴더가 있어도 상관없습니다. 아래 코드처럼 shutil.rmtree()를 호출하면 해당 폴더와 모든 하위 내용이 함께 삭제됩니다.>>> im
Python에서 tarfile 모듈로 압축 아카이브 만들기Python에서 디렉터리 전체를 하나의 tar.gz 파일로 압축하려면 표준 라이브러리의 tarfile 모듈을 사용하면 됩니다. os.walk 함수로 디렉터리 트리를 순회하면서 하위 폴더에 있는 모든 파일을 재귀적으로 아카이브에 추가하는 방식입니다.예제 코드import os import tarfile def tardir(path, tar_name): with tarfile.open(tar_name, w:gz) as tar_handle: for root,
zipfile 모듈로 폴더 전체 압축하기파이썬에서는 표준 라이브러리에 포함된 zipfile 모듈을 사용하면 별도의 외부 패키지 설치 없이도 디렉터리 전체를 zip 아카이브로 압축할 수 있습니다. 핵심은 os.walk() 함수로 디렉터리 트리를 순회하면서 하위 폴더에 있는 모든 파일을 재귀적으로 압축 파일에 추가하는 방식입니다.예제 코드import os import zipfile def zipdir(path, ziph): # ziph는 ZipFile 객체(핸들)입니다. for root, dirs, files in os
tarfile 모듈로 디렉터리 전체를 tar.gz로 압축하기 파이썬에는 tar 아카이브를 다루기 위한 tarfile 모듈이 기본 내장되어 있습니다. 이 모듈과 os.walk를 함께 사용하면 특정 폴더의 구조를 재귀적으로 순회하면서 그 안의 모든 파일을 하나의 tar 아카이브에 담을 수 있습니다. 전체 코드 예제 import os import tarfile def tardir(path, tar_name): with tarfile.open(tar_name, "w:gz") as tar_handle:
Python에서는 기본 내장 모듈인 zipfile을 사용하면 별도의 외부 라이브러리 설치 없이도 디렉터리 전체를 ZIP 아카이브로 손쉽게 압축할 수 있습니다. os.walk() 함수로 디렉터리 트리를 순회하면서 하위 폴더에 있는 모든 파일을 재귀적으로 압축 파일에 추가하는 방식입니다. 예제 코드 import os import zipfile def zipdir(path, ziph): # ziph는 zipfile 핸들입니다 for root, dirs, files in os.walk(path): for fi
Python에서는 기본 내장 모듈인 tarfile을 사용하여 tar 아카이브 파일을 손쉽게 읽고 쓸 수 있습니다. tar 파일의 압축을 해제하려면 먼저 파일을 연 다음, tarfile 모듈이 제공하는 추출 메서드를 호출하면 됩니다.tar 파일 전체 추출하기아카이브에 포함된 모든 파일을 한 번에 추출하려면 extractall() 메서드를 사용합니다. 이때 추출 대상 폴더를 직접 지정할 수 있습니다.import tarfile my_tar = tarfile.open(my_tar.tar.gz) my_tar.extractall(./my_f
zip 아카이브에서 .txt 파일만 골라서 추출하려면, 압축 파일 내부의 모든 파일 목록을 하나씩 순회하면서 각 파일이 텍스트 파일인지 확인하고, 조건에 맞는 파일만 추출하면 됩니다. 이 작업에는 Python 기본 라이브러리인 zipfile 모듈과 그 extract() 함수를 활용할 수 있습니다. 기본 예제 코드 import zipfile my_zip = zipfile.ZipFile(my_zip_file.zip) # 여기에 zip 파일 이름을 지정하세요 storage_path = . for file in my_zip.nameli
Python에서 열 수 있는 파일 크기의 이론적·실질적 한계Python이 열 수 있는 파일 크기에는 도달 가능한 최대 크기 제한이 없습니다. 많은 개발자들이 기가바이트(GB) 단위의 대용량 데이터를 메모리에 불러오는 작업을 일상적으로 수행하고 있습니다.다만 실질적인 최대치는 사용 환경에 따라 달라집니다. 컴퓨터의 RAM 용량과 운영체제 및 프로세서가 64비트인지 32비트인지에 따라 다른데, 일반적으로 1GB 내외부터 MemoryError가 발생하기 시작할 수 있습니다.MemoryError가 발생하는 이유Python 자체는 대용량 문
파일 이름 길이 제한은 위치에 따라 달라질 수 있습니다일부 운영체제에서는 파일 이름의 최대 길이가 디스크상의 위치에 따라 달라집니다. 예를 들어 UNIX 계열 시스템에서 디렉터리 트리의 여러 위치에 서로 다른 파일시스템을 마운트해 사용하고 있다면, 같은 머신 안에서도 경로마다 허용되는 최대 파일 이름 길이가 다르게 나타날 수 있습니다.파이썬에서는 os 모듈의 statvfs() 함수와 statvfs 모듈의 상수를 함께 사용하면 특정 경로가 속한 파일시스템의 최대 파일 이름 길이를 쉽게 조회할 수 있습니다.예제 코드>>>
Python에서 디렉터리 안의 모든 파일과 폴더를 알파벳순으로 나열하려면 os.listdir() 함수로 디렉터리의 항목 목록을 가져온 뒤, 내장 함수인 sorted()를 사용해 정렬하면 됩니다.기본 사용법os.listdir(.)은 현재 작업 디렉터리의 모든 항목을 리스트 형태로 반환합니다. 이 리스트를 sorted()에 전달하면 이름순으로 정렬된 새 리스트를 얻을 수 있습니다.>>> import os>>> list_dir = os.listdir(.)>>> sorted(list_dir)
SSH를 통해 한 서버에서 다른 서버로 파일을 복사하는 가장 간단한 방법은 scp 명령어를 사용하는 것입니다. Python에서 이 명령어를 호출하려면 표준 라이브러리의 subprocess 모듈을 활용하면 됩니다.방법 1: subprocess 모듈로 scp 명령어 실행운영체제에 설치된 scp 명령어를 직접 호출하는 방식입니다. 다음 예제를 참고하세요.import subprocess p = subprocess.Popen([scp, my_file.txt, username@server:path]) sts = os.waitpid(p.pid
SSH를 통해 한 서버에서 다른 서버로 파일을 복사하는 가장 간단한 방법은 scp 명령어를 사용하는 것입니다. 파이썬에서 scp 명령어를 호출하려면 subprocess 모듈이 필요합니다.방법 1: subprocess 모듈로 scp 명령어 실행import subprocess p = subprocess.Popen([scp, my_file.txt, username@server:path]) sts = os.waitpid(p.pid, 0)waitpid 호출은 파일 복사 작업이 완료될 때까지 대기하기 위해 반드시 필요합니다. 이 호출이 없으면
Python의 ftplib 모듈이란?Python에서 FTP(File Transfer Protocol) 작업을 수행하려면 기본으로 제공되는 ftplib 모듈을 사용하면 됩니다. 별도의 외부 라이브러리 설치 없이 바로 사용할 수 있으며, 이 모듈을 활용하면 다양한 FTP 자동화 작업을 수행하는 프로그램을 쉽게 작성할 수 있습니다.예를 들어 FTP 서버에 접속하여 파일 목록을 가져오거나, 원격 서버의 파일을 로컬로 다운로드한 후 처리하는 등의 작업을 몇 줄의 코드로 구현할 수 있습니다.FTP 서버에 연결하고 파일 목록 출력하기다음 예제는
Paramiko란? 설치 방법Python에서 SSH를 사용하는 가장 간단하고 널리 쓰이는 방법은 paramiko 라이브러리를 활용하는 것입니다. 다음 명령어 하나로 손쉽게 설치할 수 있습니다.$ pip install paramikoSSH 키 설정 확인하기paramiko를 본격적으로 사용하기 전에, 호스트 머신에 SSH 키가 올바르게 설정되어 있는지 먼저 확인해야 합니다. 또한 Python 스크립트를 실행할 때 이 키들에 접근할 수 있어야 정상적으로 인증이 진행됩니다. SSH 키가 아직 없다면 Atlassian 공식 문서 등에서 제공
Python에서 SSH를 사용하는 가장 쉬운 방법Python으로 SSH 연결을 수행하는 가장 간단한 방법은 paramiko 라이브러리를 사용하는 것입니다. Paramiko는 SSHv2 프로토콜을 순수 Python으로 구현한 라이브러리로, 원격 서버에 안전하게 접속하고 명령을 실행할 수 있게 해줍니다.Paramiko 설치하기pip를 사용하여 간단히 설치할 수 있습니다.$ pip install paramiko사전 준비 사항Paramiko를 본격적으로 사용하기 전에 다음 사항을 확인해야 합니다.1. 호스트 머신에 SSH 키가 올바르게 설
정규 표현식(Regular Expression)이란?정규 표현식(Regular Expression, 흔히 Regex 또는 RegEx라고 부릅니다)은 간단히 말해 문자열이나 파일에서 특정 패턴을 찾아내고 교체하기 위해 사용되는 문자들의 나열입니다. 파이썬을 비롯해 펄(Perl), R, 자바(Java) 등 대부분의 프로그래밍 언어가 정규 표현식을 지원하고 있습니다.정규 표현식은 코드, 로그 파일, 스프레드시트, 그리고 일반 문서와 같은 텍스트 데이터에서 원하는 정보를 추출할 때 매우 강력한 도구입니다. 이 글에서는 정규 표현식의 기본
파이썬에서 match()는 정규 표현식을 다루는 re 모듈에 포함된 함수로, 주어진 패턴이 문자열의 맨 앞(시작 부분)과 일치하는지 확인할 때 사용합니다. match() 기본 문법 re.match(pattern, string) 이 함수는 패턴이 문자열의 시작 부분에서 일치할 때만 매치 객체(Match object)를 반환하며, 일치하지 않으면 None을 반환합니다. 문자열 중간에서의 일치는 검사하지 않는다는 점이 re.search()와의 핵심적인 차이입니다. 기본 동작 원리 이해하기 예를 들어 TP Tutorials Point
파이썬에서 search()는 표준 라이브러리인 re(정규표현식) 모듈이 제공하는 메서드입니다. 문자열 전체를 대상으로 지정한 패턴과 일치하는 부분을 찾아주는 역할을 합니다.search() 함수의 기본 문법re.search(pattern, string)re.match()와 비슷해 보이지만 중요한 차이점이 있습니다. re.match()는 문자열의 시작 부분에서만 패턴을 찾는 반면, re.search()는 문자열 어느 위치에서든 패턴을 찾을 수 있습니다.예를 들어, 문자열 TP Tutorials Point TP에서 Tutorials라는