728x90 반응형 SMALL Programming/Python65 [Python] 날짜와 시간 다루기 datetime 패키지 datetime 패키지에서는 날짜와 시간을 함께 저장하는 datetime 클래스, 날짜만 저장하는 date 클래스, 시간만 저장하는 time 클래스, 시간 구간 정보를 저장하는 timedelta 클래스 등을 제공한다. import datetime as dt datetime 클래스 datetime 클래스에는 객체를 생성하지 않고도 바로 클래스에서 사용할 수 있는 클래스 메서드라는 것을 제공한다. 가장 대표적인 것이 현재 시각을 출력하는 now() 메서드이다. x = dt.datetime.now() --> datetime.datetime(2020, 10, 2, 15, 27, 4, 517207) now 클래스 메서드는 컴퓨터의 현재 시각을 datetime 클래스 객체로 만들어 반환한다... 2022. 2. 15. [Python] pip (패키지 매니저) pip (패키지 매니저) pip는 python의 각종 라이브러리들을 설치 및 관리해주는 패키지 매니져이다. pypi사이트 뿐 아니라 로컬 모듈도 설치할 수 있다. pip라는 도구는 python 3.4 버전부터 정식으로 포함되어 사용가능하다. (https://pypi.python.org/pypi) pip 사용 pip는 자주 업데이트 되므로 가상환경에서 업데이트해주는 것이 좋다. $ pip install --upgrade pip pip 패키지 검색 $ pip search 검색 pip 설치 리스트 확인 현재 추가된 가상환경 내에 라이브러리 목록을 보여주는 명령어가 2가지가 있다. $ pip list $ pip freeze # pip freeze는 pip install에 맞는 포맷으로 리스트를 뿌려주어 requ.. 2022. 2. 10. [Python] 가상환경 (pyenv / virtualenv / conda) 가상환경 python에서는 한 라이브러리에 대해 하나의 버전만 설치가 가능하다. 여러개의 프로젝트를 진행하게 되면 문제가 발생한다. 따라서 작업을 바꿀때마다 다른 버전의 라이브러리를 설치해야한다. 이를 방지하기 위한 격리된 독립적인 가상환경을 제공한다. 일반적으로 프로젝트마다 다른 하나의 가상환경을 생성한 후 작업을 시작하게 된다. venv : Python 3.3 버전 이후 부터 기본모듈에 포함됨 virtualenv : Python 2 버전부터 사용해오던 가상환경 라이브러리, Python 3에서도 사용가능 conda : Anaconda Python을 설치했을 시 사용할 수있는 모듈 pyenv : pyenv의 경우 Python Version Manger임과 동시에 가상환경 기능을 플러그인 형태로 제공 py.. 2022. 2. 10. [Python] OS 모듈 (파일 불러오기와 저장하기) OS 모듈 파이썬에는 기본적으로 제공되는 다양한 모듈이 있다. 이러한 모듈은 모두 유용하게 사용되지만 자주 사용되는 모듈 가운데 os라는 모듈이 있다. os 모듈은 Operating System의 약자로서 운영체제에서 제공되는 여러 기능을 파이썬에서 수행할 수 있게 해준다. 예를 들어, 파이썬을 이용해 파일을 복사하거나 디렉터리를 생성하고 특정 디렉터리 내의 파일 목록을 구하고자 할 때 os 모듈을 사용하면 된다. 먼저 현재 경로를 구하려면 os 모듈의 getcwd 함수를 사용하면 된다. import os print(os.getcwd()) --> /Users/... 특정 경로에 존재하는 파일과 디렉터리 목록을 구하려면 listdir 함수를 사용한다. os.listdir() --> ['.DS_Store',.. 2022. 2. 8. [Python] concurrent.futures 병렬 작업 concurrent.futures thread를 구현하기 위해서는 threading 모듈을 사용하고 멀티프로세스 프로그램을 구현하기 위해서는 multiprocessing 모듈을 사용해야 한다. 그러나 일반적인 경우에 concurrent.futures 모듈을 사용하면 동일한 규칙으로 thread와 멀티프로세스 코드를 쉽게 작성할 수 있다. 2022. 1. 27. [Python] Thread Thread thread는 프로그램이 실행되는 실행 흐름의 초소 단위이다. os에서 exe 파일을 실행하면 기본적으로 해당 프로그램을 위한 프로세스가 생성된다. 그리고 다시 이 프로세스는 하나의 thread를 만들고 이 thread를 따라 코드가 실행된다. thread는 프로세스에 종속되므로 프로세스 내에서 thread가 추가로 만들때 새로운 thread는 프로세스 코드와 메모리를 공유한다. ◦ CPU 사용률 향상 ◦ 효율적인 자원 활용 및 응답성 향상 ◦ 코드 간결 및 유지보수성 향상 import threading as th Thread(name=, target=, args=, kargs=, *, daemon=) name : thread의 이름. 로깅들을 위한 용도로 쓰며 주지 않아도 무방 target.. 2022. 1. 25. [Python] 랜덤 숫자 뽑기 난수 발생 (Random) Random 난수를 발생시키려면 random 모듈을 사용해야 한다. random() method를 호출하게 되면 호출할 때마다 다른 결과를 리턴한다. method random() 0 부터 1 사이의 부동소수점 (float) 숫자를 리턴 randint(최소, 최대) 최소부터 최대까지 중 임의의 정수를 리턴 uniform(최소, 최대) 최소부터 최대까지 중 임의의 부동소수점 (float) 숫자를 리턴 randrange(시작,끝, 간격) 시작부터 끝까지 숫자중에 지정된 간격의 숫자 중 리턴 간격 값은 선택사항 shuffle(data type) data type의 값을 뒤섞어서 리턴 choice(data type) data type의 값 중 하나의 값을 리턴 choices(data type, 가중치, 샘플 수).. 2022. 1. 20. 파이썬 (Python) 파이썬 (Python) 1989년 12월에 30대 중반의 나이에 들어선 네덜란드 컴퓨터 과학자 귀도 반 로섬은 여러 프로그래밍 언어들의 한계로 괴로워하다가 크리스마스 프로젝트로 새로운 언어를 직접 만들게 되었다. 원칙1 : 읽기 쉬움 원칙2 : 사용자가 원하는 모듈 패키지를 만들 수 있어야 하며 다른 프로그램에서 사용가능 해야함. 나중에 이 방식은 pip를 통해 패키지 인덱스를 제공하는 형태로 완성됨 원칙3 : 약간 독특하고 신비한 이름을 원함. 70년대 세계를 풍미한 영국 코미디 그룹 몬티 파이썬 (Monty Python)의 이름을 따 파이썬이라는 이름을 붙임. 인덴트 (Indent) 파이썬의 대표적인 특징이기도 한 인덴트는 공식 가이드인 PEP 8에 따라 공백 4칸을 원칙으로 한다. 구글의 파이썬 가.. 2022. 1. 10. [Python] glob (파일 이름 일람 취득) glob() 파일들의 리스트를 뽑을 때 사용하는데, 파일의 경로명을 이용한다. from glob import glob glob('*.exe') # 현재 디렉터리의 1, 2 exe 파일 ['1.exe', '2.exe'] glob('*.txt') # 현재 디렉터리의 3, 4 txt 파일 ['3.txt', '4.txt'] glob() 함수는 인자로 받은 패턴과 이름이 일치하는 모든 파일과 디렉터리의 리스트를 반환한다. 패턴에 *를 입력하면 모든 파일과 디렉터리를 볼 수 있다. 현재 경로가 아닌 다른 경로에 대해서도 조회할 수 있다. glob(r'/Users/a*') # /Users에서 이름이 a로 시작하는 디렉터리나 파일을 찾기 ['/Users/a.jpg', '/Users/ab'] 현재 디렉토리에서 확장자가 .. 2021. 12. 23. 16. Tkinter 고급 위젯 Tkinter 위젯 위젯은 객체를 생성하여 필요한 속성들을 지정하여 사용한다. 위젯은 부모 컨테이너와 연관하여 어떤 상대적 위치에 놓이게 되는데, Geometry Manager를 사용하여 각 위젯의 위치를 정하게 된다. MyFrame 클래스는 Frame으로부터 상속된 파생클래스이고, 생성자에서 Label 하나를 추가하고 있다. Label은 좌표 (0,0)에 위치 (place)하게 되고, 레이블 안에는 이미지를 넣고 있다. 이미지는 tkinter의 PhotoImage 클래스를 사용하고 있는데, 이 클래스는 .gif 파일 (혹은 PGM) 만을 읽을 수 있다. 다른 이미지 포맷을 사용하기 위해서는 외부 모듈을 사용해야 한다. PhotoImage()에 이미지 파일을 적고 리턴된 객체를 레이블에 지정하면 되는데,.. 2021. 12. 15. 이전 1 2 3 4 5 6 7 다음 728x90 반응형 LIST