728x90
datetime(날짜 개체 다루기)
- 날짜 개체 선언 = datetime.date(int 년, int 월, int 일)
- 날짜 개체간 연산 = (개체1 – 개체2).days // 결과값은 int로 반환됨
- 날짜개체 ⇒ 문자열 변경 : datetime개체.strftime(’%Y-%m-%d’)
os(윈도우 조작)
- 파일명 변경
os.chdir('변경할 위치')
for uFile in os.listdir():
os.rename(uFile, uFile.repalce('바꿀대상문장', '대체할텍스트')
- 경로 찾기
os.path.abspath('.') #자동적으로 \(외자 백스페이스)를 \\(텍스트형)로 고쳐줌(\ 1개 사용은 예외 유발)
- String에서 경로 추출하기
os.path.isdir(STRING) #STRING의 파일명을 제외한 나머지는 반환함
- 경로변경
os.chdir(STRING) #STRING의 경로로 '현재위치'를 이동한다. 파일열기창 초기경로 등에 영향을 준다.
- 폴더 만들기
if not os.path.isdir(uPath): os.mkdir(uPath) #폴더가 이미 존재하는지 확인 후 폴더를 만든다
728x90
tkinter(윈도우 어플리케이션 / GUI)
- 개요
- GUI를 직접 만들 수 있는 파이썬 표준 라이브러리로, LGPL을 준수하는 PyQt/Pyside와 달리 소스공개 혹은 동적라이브러리 코딩 등의 준수사항을 피할 수 있음
- Tk라는 창을 띄우는 클래스를 기초로하여 여러 가지 기능을 추가하여 GUI를 만든다.
- 자주 발생가능한 오류로, 커널로 전달되지 못한 변수가 발생하는 등의 코드오류가 있으면 Tk윈도우창이 닫히지 않는다.(데이터를 입력받을 변수 설정 없이 askopenfilename을 실행하는 경우 등)
- 파일열기 윈도우 열기
root = tkinter.Tk() #tkinter의 클래스인 Tk의 인스턴스 root 생성
check = 1
pyautogui.alert("파일을 선택해주세요.", "파일을 선택해주세요.")
while check: #에러없이 작동된 경우에만 check를 0으로 바꾸어 순환문을 종료
root.filename = tkinter.filedialog.askopenfilename(initiladir = "%systemdrive%/Users/%username%/desktop" #초기경로
title = "파일을 선택해주세요." #창 이름
filetypes = [("HWP files", "*.hwp")] #필터 설정
if root.filename == "": #askopenfilename은 파일 미선택시 False가 아닌 빈문자를 반환함
root.destroy() #Tk클래스 인스턴스를 종료시킴
hwp.Quit() #COM개체가 있는 경우 실행파일 종료전 미리 닫아주어야 함
pyautogui.alert("선택에 취소되어 프로그램을 종료합니다.", "취소 안내")
sys.exit() #파일선택 취소시 도스창도 종료
else:
check=0
BASE_DIR = os.path.dirname(root.filename) #기본 디렉토리를 저장받아 유저 편의성 도모
root.destroy() #Tk클래스 인스턴스 종료
os.chdir(BASE_DIR) #추후 파일열기창을 열때를 대비하여 기본 디렉토리 변경
sys(시스템 조작)
- sys.exit() : 해당 파이썬 프롬프트를 종료시킨다. 단, 관련하여 실행된 엑셀, 한글 등은 같이 종료되지 않으므로 주의가 필요함
- from sys import argv / argv :
- 파일 실행시 같이 입력받은 변수를 조작하기 위한 모듈과 그 모듈에 연결되는 변수이다. 스크립트 주소, 변수1, 변수2, … 변수n = argv의 형태로 사용한다. 단, 이와 같이 언패킹할때에는 초기변수와 argv 언패킹 변수의 수가 다르면 오류가 발생한다.
- 굳이 언패킹을 명시하지 않아도, argv자체가 배열로서 기능하기 때문에 argv[index]의 형태로 불러올 수 있다. 단, argv[0]에는 프로그램명이 자동입력되므로, 실제 인수는 인덱스 1번부터 시작한다.
반응형
'컴퓨터 & 코딩 공부 > 파이썬' 카테고리의 다른 글
파이썬 Library/API - pyWin32(엑셀/한글 조작용 API) 기초 원리 정리 (0) | 2024.04.19 |
---|---|
파이썬 Library/API - 오픈소스 저작권 (1) | 2024.04.19 |
파이썬 기초(2) – 문자열, 리스트, 셋 및 클래스 관련 기능 (0) | 2024.04.19 |
파이썬 기초(1) - 공통문법, Comprehension, Packing, Decorator (0) | 2024.04.19 |
파이썬 웹자동화 - 자바스크립트 활용 및 PyAutoGui 사용법 (1) | 2024.04.19 |