본문 바로가기

개발/Python

(25)
bash: pip: command not found 해결 상황 :VS code에서 가상 환경을 만든 후 pip install -r requirements.txt를 하려 했더니 다음과 같은 오류가 떴다. 해결방법 : 기존 가상환경 삭제 새 가상환경을 만들 때 파이썬 버전을 명시해준다. $ conda create --name [name] python==3.8 그럼 pip과 파이썬이 함께 설치된다.
UnpicklingError: invalid load key, 'v'. 문제 해결 UnpicklingError: invalid load key, 'v'. During handling of the above exception, another exception occurred: OSError Traceback (most recent call last) /usr/local/lib/python3.7/dist-packages/transformers/modeling_utils.py in from_pretrained(cls, pretrained_model_name_or_path, *model_args, **kwargs) 1064 except Exception: 1065 raise OSError( -> 1066 f"Unable to load weights from pytorch checkpoint ..
파이썬 \u200b 제거 df['kr'] = df['kr'].replace(u'\u200b','') df['kr'] = df['kr'].replace('\u200b','') 이 방법이 둘다 안 먹혔다. 하지만 정규식으로 지우니 지워진다! import re def preprocess_sentence_kr(w): w = w.strip() w = re.sub(r"[^0-9가-힣?.!,¿]+", " ", w) # \n도 공백으로 대체해줌 w = w.strip() return w df['kr'] = [preprocess_sentence_kr(l) for l in df['kr']] 이렇게 하니 깔끔하게 없어진다!
파이썬으로 gz 파일 열기(Helsinki eng-kor 파일 열기) object.pouta.csc.fi/Tatoeba-Challenge-v2020-07-28/eng-kor.tar 위 링크에서 영어-한국어 번역 모델을 위한 데이터를 다운받을 수 있다. 학습용 영-한 pair가 379만여개 테스트용 pair는 2414개다. 다운을 받으면 학습용 데이터는 .gz 파일에 담겨있는데, 따라하는 튜토리얼에는 그런 게 없었다.. ㅜ ㅜ >> 해결 저 gz 파일을 한번씩 더 압축을 풀어줘야 합니다 그럼 이렇게 아름다운 src 파일이 나오니 이걸로 진행하면 됩니다. def prepare_translation_datasets(data_path): with gzip.open("train.trg.gz", mode="rt", encoding="utf-8") as f: korean_text = ..
f-string : 파이썬에서 문자열에 변수 넣어주기 반복문을 돌리다 보면 헷갈려서 문자열에 변수명을 넣어주고 싶을 때가 있다. 파이썬에서 %s, {}.format() 의 방법도 있지만 파이썬 3.6부터 지원되는 f-string이 가장 속도가 빠르다고 한다. 내가 보기엔 코드 알아보기도 제일 쉬운 것 같다. 방법은 for var in list: print(f'변수를 {var}에 넣어보자') 앞에 f를 붙이고 ''로 감싼 뒤, {} 안에 변수를 넣어주면 된다. 변수가 여러 개일 때도 잘 동작한다. a = 금요일 b = 월요일 f'오늘은 {b}이니까 빨리 {a}가 왔으면 좋겠다' 만약 소수점 자리수를 조정하고 싶다면, :.nf 를 넣으면 된다. (n자리에 원하는 자릿수를 넣어주자) a = 3.14159265358979323846 print(f'{a:.3f}를 ..
Enumerate 함수 enumerate는 '열거하다' 라는 뜻이다. 객체에 번호를 매겨 enumerate object로 만들어준다. for loop에 직접적으로 사용하거나 list() 메소드를 사용하여 리스트 형태로 만들 수 있다. l1 = ["cat","dog","repeat"] #list s1 = "cat" #string # creating enumerate objects obj1 = enumerate(l1) obj2 = enumerate(s1) print ("Return type:",type(obj1)) # Return type: print (list(enumerate(l1))) #[(0, 'cat'), (1, 'dog'), (2, 'repeat')] print (list(enumerate(s1))) # [(0, 'c'..
파이썬 =, == 차이 =는 대입 연산자이다. Assign Operator. a = 100 b = 100 같이 변수에 값을 할당해줄 때 쓴다. ==는 비교 연산자이다 a == b a와 b의 값이 같은가? >>> False a !=b a와 b의 값이 같지 않은가? >>> True. print( a = b ) >>> 오류 발생. =는 b의 값을 a에 대입하기 위한 연산자이지 둘이 같냐고 비교하는 연산자가 아니다.
py4e 코세라 구독 없이 예제 문제 보는 법 다음 책을 참고하면 된다. www.py4e.com/translations/KO/book_009_ko.pdf py4e 교재의 한국어 번역판이다. 12.3 웹크롤링 문제가 너무 궁금했는데 코세라 구독을 안 하면 문제조차 볼 수 없었다. 하지만 책에는 다 있었다...!! Exercise 12.1 소켓 프로그램 socket1.py을 변경하여 임의 웹페이지를 읽을 수 있도록 URL을 사용자가 입력하도록 바꾸세요. split(’/’)을 사용하여 URL을 컴포턴트로 쪼개서 소켓 connect 호출에 대해 호스트 명을 추출할 수 있다. 사 용자가 적절하지 못한 형식 혹은 존재하지 않는 URL을 입력하는 경우를 처리할 있도록 try, except를 사용하여 오류 검사기능을 추가하세요. Exercise 12.2 소켓 프로..