일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- pandas
- YOLO
- C
- 기타 연주
- paramiko
- C++
- ubuntu
- 프로그래머스
- windows forms
- Docker
- error
- pytorch
- mysql
- pip
- 컨테이너
- OpenCV
- 채보
- Linux
- 핑거스타일
- label
- 오류
- LIST
- JSON
- VS Code
- Numpy
- C#
- Python
- SSH
- Visual Studio
- Selenium
- Today
- Total
목록Python (106)
기계는 거짓말하지 않는다
number = 3.141592 number2 = 10.7562149 # round 반올림 print(round(number, 2)) # 3.14 print(round(number)) # 3 print(round(number2)) # 11 number = round(number, 3) print(number) # 3.142 # 출력 시 제한 print(f"{number2:.2f}") # 10.76 print("{:.4f}, {:.5f}".format(number2, number2)) # 10.7562, 10.75621
shutil 모듈을 이용한다. 파일도 경로만 지정해주면 동일하다. 참고: shutil docs shutil — 고수준 파일 연산 — Python 3.10.4 문서 shutil — 고수준 파일 연산 소스 코드: Lib/shutil.py shutil 모듈은 파일과 파일 모음에 대한 여러 가지 고수준 연산을 제공합니다. 특히, 파일 복사와 삭제를 지원하는 함수가 제공됩니다. 개별 파일 docs.python.org 디렉터리 이동 asd 디렉터리 내에 asd.py 파일 존재, outdir 따로 존재. import shutil src = 'asd' dest = 'outdir' shutil.move(src, dest) asd 디렉터리가 outdir 디렉터리 하위로 이동한다. 디렉터리 복사 copy 함수가 여러개 존재..
간단한 예이다. Windows에서 실행 한 명령어이며 Linux일 경우 그에 맞는 명령어를 입력한다. os.system 함수는 가장 간단하게 명령어를 호출할 수 있으나 명령어가 완료될 때까지 대기하며, pid 등을 알 수 없다. subprocess 함수는 백그라운드로 실행되며 명령어를 호출 한 process의 pid를 얻거나 명령어가 완료될 때까지 기다릴 수 있다. import os import subprocess os.system("timeout /t 5") process = subprocess.Popen("timeout /t 5", shell=True) process.wait() print("shell True End") process = subprocess.Popen(["timeout", "/t",..
Python Thread의 간단한 예시 Critical Section에 대한 관리는 신중해야 함 import threading def print_num(thread_name: str): for i in range(3): print(f"{thread_name}: {i}") for i in range(3): t = threading.Thread(target=print_num, args={f"Thread_{i}"}) t.start() for j in range(5): print(f"Main: {j}") Thread가 종료되기를 기다리려면 join 함수를 호출하고, join(10)과 같이 타임아웃을 설정할 수 있다. 타임아웃을 설정하면 이후 is_alive 함수를 호출하여 타임아웃 초과를 판단해야 한다. 참고:..
isinstance(객체, 타입) 또는 isinstance(객체, (타입, 타입...))으로 확인이 가능하며 bool type으로 리턴한다. isinstance(객체, (A, B, ...))은 튜플로 타입을 전달하고 이는 isinstance(객체, A) or isinstance(객체, B) ... 와 같다. 임의 클래스와 상속 관계에서도 사용 가능하다. y = [3, 4, 5] # yes 출력 if isinstance(y, (int, list)): print("yes") else: print("no") # yes 출력 if isinstance(y, list): print("yes") else: print("no") # no 출력 if isinstance(y, float): print("yes") else..
XML ElementTree를 이용한 XML 파일 읽기 import os import glob import xml.etree.ElementTree as ET# import module # 모든 XML 파일 경로를 가져옴 ano_path = sorted(glob.glob(os.path.join("./", "*.xml"))) # XML 파일 하나씩 읽음 for annotation_path in ano_path: # XML 파일 읽기 doc = ET.parse(annotation_path) # 최상위 XML 태그 root = doc.getroot() # text 파일 이름 filename = annotation_path.split("\\")[-1].split(".")[0] + ".txt" # text 저장 경..
파이썬에서 우선순위 큐는 queue 모듈의 PriorityQueue를 import 하고 put. get으로 사용한다. put 시에 임의로 순위를 지정해 줄 수 있다. (ex: q.put(1, "B")) 객체일 경우 조건에 따른 정렬 기준 설정이 가능하다. 부호에 따라 min, max가 바뀐다. from queue import PriorityQueue class TempClass: def __init__(self, string:str, index:int): if type(string) is not str: raise Exception("not string") if type(index) is not int: raise Exception("not integer") self.string = string self..
특정 데이터 값을 기준으로 나눠 각각 csv로 저장 아래는 하나의 data csv 파일에서 AI 학습용 train, test, valid dataset으로 분리한다. 비율만큼 분리는 sklearn의 train_test_split을 이용했다. def trim_string(x, trim_word_count=100): x = x.split(maxsplit=trim_word_count) x = ' '.join(x[:trim_word_count]) return x def create_split_csv(raw_data_path=".", dest_path=".", label_numbers=[0, 1, 2], train_csv_name="train.csv", valid_csv_name="valid.csv", test_..