본문 바로가기
728x90

분류 전체보기136

TypeError: an integer is required (got type str) 다음과 같은 에러가 뜰 때 해결법이다. File "test.py", line 5, in data = open('content.txt', 'r','utf8') TypeError: an integer is required (got type str) import time import pyperclip import pyautogui time.sleep(5) data = open('content.txt', 'r','utf8') lines = data.read() data.close() str_list = (list(lines)) print(str_list) 이러한 에러가 났다면 Python3 환경에서 다음과 같이 코드를 작성했을 것이다. Python 3으로 넘어오면서 utf8만 딸랑 써주면 안된다. encodin.. 2020. 8. 12.
python txt read 파일 읽기 에러 'cp949 codec' 해결법 File "test.py", line 6, in lines = data.read() UnicodeDecodeError: 'cp949' codec can't decode byte 0xec in position 0: illegal multibyte sequence 다음과 같은 에러가 떴을 때 해결하는 방법은 두가지가 있다. 1번째 방법 파일을 읽을 때 설정에서 utf-8을 붙여준다. file = open( "text.txt", "r", "utf-8" ) 2번째 방법 txt 파일을 저장할 때 인코딩을 ANSI로 바꾸면 된다. 메모장에서 저장할 경우 다른 이름으로 저장을 누르면 ANSI 인코딩으로 바꿔줄 수 있다. 2020. 8. 12.
Python Naver Login 보안문자(캡챠) 우회, 피하기 파이썬 캡차 우회, selenium 네이버 로그인 캡챠 이번 글에서는 Selenium을 이용하여 Naver Login을 했을 때, 뜨는 보안문자를 피하는 방법에 대해 알아보도록 하겠다. 저번 글에서 사용한 코드는 다음과 같다. from selenium import webdriver driver = webdriver.Chrome('chromedriver') driver.get("https://nid.naver.com/nidlogin.login") naver_login = driver.find_element_by_id("id") naver_login.clear() naver_login.send_keys("naver_id") naver_login = driver.find_element_by_id("pw") n.. 2020. 8. 11.
Python Selenium 설치 및 Naver Login 하기 from selenium import webdriver driver = webdriver.Chrome('chromedriver') driver.get("https://nid.naver.com/nidlogin.login") naver_login = driver.find_element_by_id("id") naver_login.clear() naver_login.send_keys("naver_id") naver_login = driver.find_element_by_id("pw") naver_login.clear() naver_login.send_keys("naver_pw") 이번 글에서는 Python Selenium을 이용하여 크롤링 하는 법을 알아보려고 한다. Selenium은 웹 브라우져를 컨트롤하여 .. 2020. 8. 10.
Python \ufeff 제거 csv 를 가져오려고 할 때 값앞에 \ufeff이 붙는 현상이 발생할 때 해결법이다. 필자의 소스는 다음과 같았다. import csv f = open('pincode.csv','r', encoding='UTF-8') reader = list(csv.reader(f)) f.close() print(reader[0]) 결과 값은 523-1423을 기대했으나 다음과 같이 나왔다. C:\Users\devgu\Desktop>python test.py ['\ufeff523-1423'] 앞에 \ufeff를 제거하는 방법은 생각보다 간단하다. encoding 방식을 'UTF-8'에서 'UTF-8-sig'로 바꿔주면 된다. 즉 다음과 같이 바꿔주면 된다. import csv f = open('pincode.csv','.. 2020. 7. 28.
PYTHON 에서 "UnicodeDecodeError: 'cp949' codec can't decode byte 0xe2 in position 6987: illegal multibyte sequence" 오류 날때 해결법 for column in reader: UnicodeDecodeError: 'cp949' codec can't decode byte 0xbf in position 2: illegal multibyte sequence 다음과 같은 에러는 파일 read할 때 주로 발생한다. 어떻게 해결해야할 까? 해결방법은 간단하다. 다음과 같이 코드를 수정하면 된다. 필자의 코드는 다음과 같다. with open('test.csv','r') as f: reader = csv.reader(f) 이 코드를 다음과 같이 수정하면 된다. with open('test.csv','r', encoding='UTF-8') as f: reader = csv.reader(f) 해당 에러는 cp949 코덱으로 인코딩 된 파일을 읽어들일때 생.. 2020. 7. 28.
파이썬 엑셀 읽고 쓰기 (Python Excel Read / Write) 파이썬에서는 엑셀을 다룰 수 있는 모듈을 제공한다. 제공하는 모듈은 csv파일을 핸들링할 수 있다. 다음과 같은 과일에 대한 csv파일이 있고 우리는 이 값들을 가져와 우리의 코드에 사용하려고 한다. test.py 를 다음과 같이 작성한다. import csv with open('fruit.csv','r') as f: reader = csv.reader(f) print(reader) 결과 값은 다음과 같다. csv reader를 통해 reader에 object를 가져온 것을 확인 할 수 있다. 그렇다면 어떻게 사용할 수 있을까? 딕셔너리를 이용하면 된다. 다음과 같이 코드를 수정해보자. import csv with open('fruit.csv','r') as f: reader = csv.DictReade.. 2020. 7. 28.
Django 파이썬 웹 프로그래밍(7) TextEditor 사용 + 설정 ckeditor를 통해 Field를 TextField에서 RichtextUploadingField로 바꿔주겠다. pip install django-ckeditor 그 다음 base.py를 다음과 같이 바꿔준다. INSTALLED_APPS = [ ... 'ckeditor', 'ckeditor_uploader', ] CKEDITOR_UPLOAD_PATH = 'uploads/' CKEDITOR_IMAGE_BACKEND = "pillow" urlpatterns을 다음과 같이 수정해준다. url(r'^ckeditor/', include('ckeditor_uploader.urls')), models.py text를 다음과 같이 수정해준다. text = RichTextUploadingField(blank=True,n.. 2020. 7. 26.
Django 파이썬 웹 프로그래밍(6) API 저번 글에서 만든 TitleSearch API를 사용해보도록 하겠다. 우리는 urls.py에서 tsearch/ 로 들어왔을 때 views.py의 TitleSearch로 넘겨주었다. TitleSearch는 다음과 같다. class TitleSearch(APIView): def get(self, request, format=None): title_search = request.query_params.get('title_search', None) if title_search is not None: post = models.Post.objects.filter(title__contains=title_search) serializer = serializers.PostSerializer(post, many=True).. 2020. 7. 26.
728x90