일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
- Python
- OpenCV
- 채보
- C
- LIST
- mysql
- 프로그래머스
- pandas
- label
- 오류
- VS Code
- pytorch
- SSH
- error
- 기타 연주
- 컨테이너
- paramiko
- Numpy
- Linux
- C++
- YOLO
- JSON
- Visual Studio
- windows forms
- ubuntu
- Selenium
- 핑거스타일
- pip
- Docker
- C#
- Today
- Total
목록Python (106)
기계는 거짓말하지 않는다
pip 자체의 버전은 pip -V 또는 pip --version을 입력하면 된다. # pip 버전 21.2 이상 pip index versions {패키지 이름} # ex) pip index versions numpy # pip 버전 9.0 이상 pip install {패키지 이름}==
아래와 같은 예시 코드에서 import subprocess as sp # 실행 시킬 명령어 command = ["any command..."] proc = sp.Popen(command, stdin=sp.PIPE, stderr=sp.PIPE) while 반복 조건: # 큰 데이터 받음 data = 데이터 IN # write proc.stdin.write(data.tostring()) 반복문을 실행하다가 프로세스가 종료되는 경우가 있다. 한 가지 상황은 이미지를 데이터로 받아 FFMPEG에 raw data로 넘겨줄 때였다. FFMPEG는 stderr에 지속해서 기록하므로 버퍼가 계속 차게 된다. stderr을 사용하지 않거나, 비워주어야 한다. 비우는 방법은 write 후 stderr을 close 하거나 ..
Python의 Paramiko module로 SSH 연결 후 원격 명령어가 끝날 때까지 blocking 하는 방법의 예이다. import paramiko import time cli = paramiko.client.SSHClient() cli.set_missing_host_key_policy(paramiko.client.AutoAddPolicy()) cli.connect(hostname="1.1.1.1", username="ubuntu") stdin, stdout, stderr = cli.exec_command("sleep 3") # waiting for command stdout.channel.recv_exit_status() lines = stdout_.readlines() print(''.join(..
DataFrame에서 조건을 만족하는 행 중 일정 비율 추출하는 예시이다. count가 50보다 작은 행들 중 40% 데이터만 랜덤으로 추출하려면 아래와 같이 할 수 있다. import pandas as pd import random df = pd.read_csv("custom_data.csv", encoding="utf-8") # count가 50보다 큰 행의 인덱스 rows_to_select = df[df["count"] < 50].index print(rows_to_select) print(df.iloc[rows_to_select]) print("-" * 50) # 조건에 맞는 인덱스 중 랜덤하게 40% 추출 rows_to_select = list(rows_to_select) random.seed(..
보통 파일 경로를 읽을 때 발생할 수 있다. 경로 상에 \ (back slash)로 기입되었을 경우 경로 상에 \ (back slash)를 \\ 두번 적어주거나 / (slash)로 바꿔주면 해결할 수 있다. 또는 raw string을 명시해서 해결할 수 있다. # 1 path = "F:\\dir\\AA.txt" # 2 path = "F:\dir\AA.txt" path = path.replace("\\", "/") # 3 path = r"F:\dir\AA.txt"
파일을 읽어올 때 '\ufeff' 문자가 가장 앞에 붙는 경우가 있다. 이로 인해 오류가 발생할 수 있다. 파일을 열 때 utf-8-sig 형식을 이용하거나 저장을 할 때 UTF-8 BOM 인코딩이 아닌 UTF-8 형식으로 다시 저장한다. f = open('path', 'r', encoding='utf-8-sig') unicode - u'\ufeff' in Python string - Stack Overflow u'\ufeff' in Python string I got an error with the following exception message: UnicodeEncodeError: 'ascii' codec can't encode character u'\ufeff' in position 155: or..
Python에서 정렬 함수를 사용할 때 itemgetter를 이용하여 정렬 key 기준을 쉽게 가져올 수 있다. class 인스턴수 변수를 기준으로 key 값을 가져오려면 attrgetter를 사용한다. lambda로 대체 가능하다. from operator import itemgetter # list itemgetter temp_list = [(10, "C"), (20, "A"), (30, "B")] result = sorted(temp_list, key=itemgetter(0)) print(result) # dict itemgetter temp_dict = [{"number": 10, "string": "C"}, {"number": 20, "string": "A"}, {"number": 30, "st..
Python에서 재귀함수를 이용한 순열 (Permutation)이다. def swap(arr, i1, i2): temp = arr[i1] arr[i1] = arr[i2] arr[i2] = temp def permutation(arr, depth, n, r): count = 0 if depth == r: for i in arr: print(i, end="") print("") return 1 for i in range(depth, n): swap(arr, depth, i) count += permutation(arr, depth + 1, n, r) swap(arr, depth, i) return count arr = ["A", "B", "C", "D"] count = permutation(arr, 0, 4..