Python에서 os.openpty() 함수를 사용하면 새로운 의사 터미널(pseudo-terminal) 쌍을 손쉽게 열 수 있습니다. 이 메서드는 마스터(master)와 슬레이브(slave) 양쪽 끝에 해당하는 두 개의 파일 디스크립터를 튜플 형태로 반환합니다.os.openpty()란?의사 터미널(PTY)은 실제 하드웨어 터미널 없이도 터미널처럼 동작하는 가상 장치입니다. os.openpty()는 이러한 PTY의 마스터 엔드와 슬레이브 엔드를 각각 나타내는 파일 디스크립터 쌍을 생성해 주며, 터미널 에뮬레이션이나 프로세스 간 입출
운영체제별 숨김 파일 처리 방식 Unix 계열 운영체제(macOS, Linux 등)에서는 숨김 파일이 점(.)으로 시작하므로, 간단한 startswith() 검사만으로도 손쉽게 필터링할 수 있습니다. 반면 Windows에서는 파일 이름만으로는 숨김 여부를 판단할 수 없기 때문에, 파일 속성을 직접 확인한 후 숨김 파일인지 결정해야 합니다. 예제 코드 다음 코드를 활용하면 숨김 파일을 제외한 디렉터리 목록을 얻을 수 있습니다. import os if os.name == nt: import win32api, win32con de
파이썬에서 특정 디렉토리의 내용을 확인하고 싶을 때 가장 기본적으로 사용되는 방법은 os.listdir() 함수입니다. 이 함수는 지정한 경로(my_path)에 있는 모든 항목, 즉 파일과 디렉토리를 모두 리스트 형태로 반환합니다.기본 사용 예제현재 작업 디렉토리의 내용을 나열하는 간단한 예제는 다음과 같습니다:>>> import os >>> os.listdir(.) [DLLs, Doc, etc, include, Lib, libs, LICENSE.txt, NEWS.txt, python.exe, pyt
Unix 계열 운영체제(macOS, Linux 등)에서는 숨김 파일과 디렉터리가 항상 마침표(.)로 시작합니다. 따라서 간단한 startswith 검사만으로 이를 쉽게 필터링할 수 있습니다.반면 Windows에서는 파일 이름만으로는 숨김 여부를 알 수 없습니다. 파일 시스템에 저장된 파일 속성(FILE_ATTRIBUTE_HIDDEN, FILE_ATTRIBUTE_SYSTEM 등)을 직접 조회해야 숨김 파일인지 판별할 수 있습니다.Windows에서 속성을 확인하려면 pywin32 패키지가 필요하며, 아래 명령으로 설치할 수 있습니다:p
운영체제별 숨김 파일 판별 방식Unix 계열 운영체제(macOS, Linux 등)에서는 숨겨진 파일과 폴더가 마침표(.)로 시작하는 것이 특징입니다. 따라서 문자열의 startswith() 메서드를 활용한 간단한 검사만으로도 숨김 항목을 쉽게 걸러낼 수 있습니다.반면 Windows에서는 파일 이름이 아니라 파일 속성(File Attributes)을 직접 확인해야 합니다. Windows API가 제공하는 속성 정보를 읽어 해당 파일이나 폴더가 숨김(Hidden) 또는 시스템(System) 속성을 가지고 있는지 판별해야 정확하게 처리할
스왑(swap) 파일은 확장자가 .swp인 파일로, 주로 Vim 같은 편집기가 비정상적으로 종료되었을 때 자동으로 생성됩니다. 특정 폴더와 그 하위 디렉터리에 있는 모든 스왑 파일을 한 번에 삭제하는 가장 간단한 방법은 문자열 메서드 endswith()를 사용해 확장자가 .swp인 파일명을 걸러낸 뒤 삭제하는 것입니다. 예제 코드 import os, os.path mypath = my_folder for root, dirs, files in os.walk(mypath): for file in filter(lambda x: x
Python에서는 os.path 모듈을 사용하면 파일의 마지막 접근 시간(atime)과 마지막 수정 시간(mtime)을 손쉽게 확인할 수 있습니다. 이 기능은 Windows, Linux, macOS 등 주요 운영체제에서 모두 동일하게 작동합니다.1. os.path.getmtime() – 마지막 수정 시간파일의 내용이 마지막으로 변경된 시각을 알고 싶다면 os.path.getmtime(path)를 사용하세요. 반환값은 1970년 1월 1일(UTC)부터 경과한 초를 나타내는 유닉스 타임스탬프입니다.>>> import o
Python 파일 열기 모드란?Python에서는 open() 함수를 사용할 때 두 번째 인자로 파일 모드(mode)를 지정하여 파일을 다양한 방식으로 열 수 있습니다. 각 모드는 파일을 읽을지, 쓸지, 추가할지 등의 동작 방식을 결정하며, 필요에 따라 여러 모드를 조합해서 사용할 수도 있습니다.파일 모드 종류모드설명r읽기 모드 (기본값). 파일의 내용을 읽기만 할 수 있습니다.w쓰기 모드. 파일이 없으면 새로 생성하고, 이미 존재하면 기존 내용을 모두 삭제(잘라내기)한 후 처음부터 씁니다.x배타적 생성 모드. 새 파일을 생성하는 데
파일 모드에 붙이는 b 수정자는 해당 파일을 바이너리(binary) 모드로 열도록 지정하는 옵션입니다. 바이너리 파일이란 사람이 읽을 수 있는 문자로 구성되지 않은 형식의 파일을 말합니다. 대표적인 예로 JPEG나 GIF 같은 이미지 파일, MP3 같은 오디오 파일, 그리고 Word나 PDF처럼 바이너리 형식으로 저장된 문서 파일 등이 있습니다.텍스트 모드와 바이너리 모드의 차이Python에서는 별도의 설정 없이 파일을 열면 기본적으로 텍스트(text) 모드가 적용됩니다. 텍스트 모드는 파일 내용을 문자열(str)로 읽고 쓰며, 운
Python에서 범용 줄바꿈(universal newline) 지원이 활성화된 상태로 open() 함수를 호출할 때, mode 매개변수에 U를 지정하면 범용 줄바꿈 해석 방식으로 읽기 전용 텍스트 파일 열기라는 의미가 됩니다.이 기능이 필요한 이유는 운영체제마다 줄바꿈을 표현하는 방식이 다르기 때문입니다. Unix나 Linux 계열 운영체제에서는 줄바꿈이 한 문자(\n)로 표현되는 반면, Windows에서는 두 문자(\r\n)로 표현됩니다.U 모드로 파일을 열면 read(), readline() 등 다양한 파일 메서드가 반환하는 문
Python에서 파일을 열 때 버퍼 크기 지정하기Python에서 파일을 열 때 버퍼(buffer) 크기를 직접 지정하려면 내장 함수 open()의 세 번째 인자인 buffering 매개변수를 사용하면 됩니다. 이 값에 따라 파일 입출력 성능과 동작 방식이 달라질 수 있습니다.Python 2에서의 버퍼링 지정Python 2의 open() 함수 정의는 다음과 같습니다.open(name[, mode[, buffering]])세 번째 인자인 buffering은 파일에 적용할 원하는 버퍼 크기를 지정하는 선택적 인자입니다.0: 버퍼링 없음(
파이썬의 딕셔너리(Dictionary) 객체는 내장 메서드인 keys()를 제공합니다. 이 메서드는 딕셔너리에 저장된 모든 키를 한 번에 가져올 수 있어서, 키 목록을 출력하는 작업을 아주 간단하게 처리해 줍니다.keys() 메서드로 키 가져오기keys() 메서드를 호출하면 dict_keys라는 뷰(view) 객체가 반환됩니다. 이 객체를 list() 함수로 감싸면 일반 리스트 형태로 변환할 수 있습니다.>>> D1 = {1:a, 2:b, 3:c} >>> D1.keys() dict_keys([1, 2
values() 메서드로 딕셔너리 값 출력하기파이썬 딕셔너리 객체는 values() 메서드를 제공하며, 이를 사용하면 딕셔너리에 저장된 모든 값을 손쉽게 확인할 수 있습니다.>>> D1 = {1:a, 2:b, 3:c}>>> D1.values()dict_values([a, b, c])>>> list(D1.values())[a, b, c]D1.values()를 호출하면 dict_values라는 뷰(view) 객체가 반환됩니다. 이 객체를 list()로 감싸면 일반 리스트 형태로 변환할 수
파이썬에서 딕셔너리(dictionary) 객체를 반복(순회)하는 방법은 크게 두 가지가 있습니다. 첫 번째는 keys() 메서드로 키 목록을 가져온 뒤, 각 키에 연결된 값을 조회하는 방식입니다.1. keys() 메서드로 키와 값 출력하기keys() 메서드는 딕셔너리의 모든 키를 반환합니다. 이 키를 이용해 인덱싱하면 해당 키에 대응하는 값을 얻을 수 있습니다.>>> D1 = {1:a, 2:b, 3:c} >>> for k in D1.keys(): print(k, D1[k]) 1 a 2 b 3 c
Python에서 키로 딕셔너리 정렬하기 Python의 표준 배포판에는 collections 모듈이 포함되어 있으며, 이 모듈에는 고성능 컨테이너 데이터 타입들이 정의되어 있습니다. 그중 OrderedDict는 딕셔너리의 하위 클래스로, 항목이 추가된 순서를 기억하는 특징이 있습니다. OrderedDict 객체를 순회(iteration)하면 키가 처음 추가된 순서대로 항목들이 반환됩니다. >>> from collections import OrderedDict >>> D = {5:fff, 3:ttt, 1
파이썬의 표준 라이브러리에는 collections 모듈이 포함되어 있으며, 이 모듈은 고성능 컨테이너 데이터 타입들을 제공합니다. 그중 OrderedDict는 딕셔너리의 하위 클래스로, 항목이 추가된 순서를 기억하는 특징이 있습니다. 정렬된 딕셔너리(ordered dictionary)를 반복(iteration)할 때는 키가 처음 추가된 순서대로 항목들이 반환됩니다. >>> from collections import OrderedDict >>> D = {5:fff, 3:ttt, 1:ooo, 4:bbb,
Python에서 float의 최대값 확인하기Python에서 표현할 수 있는 부동소수점(float) 숫자의 최대값이 궁금하다면, 표준 라이브러리의 sys 모듈을 활용하면 됩니다.sys 모듈에는 float_info라는 구조체 시퀀스(이름 있는 요소들로 이루어진 튜플)가 정의되어 있습니다. 이 구조체는 Python 인터프리터에서 사용하는 부동소수점 자료형에 대한 다양한 정보를 담고 있으며, 그중 max 요소는 표현 가능한 유한(finite) 부동소수점 숫자 중 최대값을 반환합니다.사용 예시>>> import sys>
파이썬 문자열의 최대 길이파이썬에서 문자열의 최대 길이는 고정되어 있지 않으며, 플랫폼에 따라 달라집니다. 구체적으로는 시스템의 주소 공간(address space)과 사용 가능한 RAM 용량에 의해 결정됩니다.파이썬은 sys 모듈에 정의된 maxsize 상수를 통해 플랫폼이 지원하는 최대 크기를 확인할 수 있습니다. 64비트 시스템에서 이 값은 2⁶³ − 1, 즉 9,223,372,036,854,775,807입니다.>>> import sys>>> sys.maxsize922337203685477580
Python 리스트의 최대 크기란? Python에서 리스트(list)의 최대 길이는 고정된 값이 아니라 플랫폼(운영체제 및 아키텍처)에 따라 달라집니다. 구체적으로는 시스템이 사용할 수 있는 주소 공간과 RAM 용량에 의해 결정됩니다. Python은 내부적으로 sys 모듈에 maxsize라는 상수를 제공하는데, 이 값이 곧 컨테이너가 가질 수 있는 최대 크기의 기준이 됩니다. sys.maxsize 확인 방법 64비트 시스템에서 sys.maxsize는 263 − 1, 즉 9,223,372,036,854,775,807을 반환합니다. &
파이썬의 슬라이싱(Slicing) 기능을 사용하면 원본 문자열에서 원하는 부분 문자열(substring)을 간단하게 추출할 수 있습니다.슬라이스 연산자 [:]의 기본 구조슬라이스 연산자 [:]는 두 개의 피연산자를 필요로 합니다.첫 번째 피연산자: 슬라이스가 시작되는 문자의 인덱스를 나타내는 정수두 번째 피연산자: 슬라이스 범위 바로 다음(끝+1) 위치에 있는 문자의 인덱스이때 시퀀스의 인덱스는 0부터 시작한다는 점을 꼭 기억해야 합니다.예제 코드>>> string = abcdefghij>>> str