[Python Error] AttributeError: 'MySQLCursor' object has no attribute 'commit'
·
Error code 모음/4. Python errors
1. 에러의 원인 에러의 원인은 간단하다.. connect 메서드가 들어가야 할 부분에 cursor 라고 썼기 때문에 pymysql 에서 해당 오브젝트에는 commit 이 없다는 에러 문구를 보내는 것이다 아래 이미지와 같다 2. 해결 방법 해결 방법은 아래와 같다. 처음에 DB 를 연결할 때, 기입한 부분을 써주는 것이다. 나의 경우에는 conn 이라고 써주었기 때문에 아래와 같이 수정했다. 그 이후 해당 에러는 사라지고 DB 에 원하는 데이터가 잘 들어갔다 3. 참고 링크 stackoverflow.com/questions/30842031/attributeerror-mysqlcursor-object-has-no-attribute-commit AttributeError: 'MySQLCursor' obje..
[Pythron Error] UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe9 in position 5: invalid continuation byte
·
Error code 모음/4. Python errors
에러 발생 이유 모든 바이트가 아스키 문자가 될수는 없다. 또 모든 바이트 시퀀스가 utf-8 문자가 될 수 있는 것은 아니기에 이진 시퀀스를 텍스트로 변환할 때 맞는 문자열로 변환할 수 없다면, UnicodeDecodeError 가 발생한다. 해결 방법 utf-8 이 아닌 다른 디코드 코덱을 사용할 것을 추천한다 octets = b'Montr\xe9al' print(octets.decode('cp1252')) print(octets.decode('iso8859_7')) print(octets.decode('koi8_r')) --------------------------------- b'Montr\xe9al' Montréal Montrιal MontrИal 위의 디코딩 코덱이 아니더라도 많이 사용되는 ..
[Python Error] 'charmap' codec can't encode character '\xe3' in position 1: character maps to <undefined>
·
Error code 모음/4. Python errors
에러 발생 이유 대부분의 비 UTF 코덱은 유니코드 문자의 일부만 처리할 수 있으나, 텍스트를 바이트로 변활할 때 문자가 인코딩에 정의되어 있지 않다면, 인코딩 메서드나 함수의 errors 인수에 별도의 처리기를 지정하지 않는 한 UnicodeEncodeError 가 발생한다. Traceback (most recent call last): File "C:/Users/Desktop/practice.py", line 7, in print(city.encode('cp437')) File "C:\Users\lib\encodings\cp437.py", line 12, in encode return codecs.charmap_encode(input,errors,encoding_map) UnicodeEncodeErr..
Python side project 05 : Python Story Generator (파이썬 스토리 생성기)
·
언어/Python
오늘은 파이썬 스토리 생성기를 간단하게 만들어 보았다. 처음에는 어려운줄 알았는데, 구글링을 몇번 하다보니 random 함수를 잘 사용하면 쉽게 할수 있는 프로젝트여서 프로젝트 전에 가졌던 긴장을 많이 내려놓을 수 있었던 side 프로젝트였다. import random import sys # 기본적인 정보들을 입력하면 # 파이썬이 랜덤으로 선택해서 출력하는 방식의 # 간단한 Story Generator 을 만들어보자. name = [] hobbies= [] age = [] # while 문을 통해 input 된 데이터를 list 형식으로 담는다 while True: n = input("이름을 입력해주세요! ex) 홍길동, 김누이") name.append(n) print(len(name)) print(na..
[Python] isinstance 함수
·
언어/Python
isinstance isinstance(object, class )는 첫 번째 인수로 인스턴스, 두 번째 인수로 클래스 이름을 받으며, 인스턴스가 같은 인스턴스인지를 판단하여 참이면 True, 거짓이면 False를 돌려준다. >>> class haha: pass >>> a = haha() >>> isinstance(a, haha) True >>> b = 32 >>> isinstance(b, haha) False 참고 링크 https://wikidocs.net/32#isinstance 위키독스 온라인 책을 제작 공유하는 플랫폼 서비스 wikidocs.net
[python] : for in 반복문, range, enumerate
·
언어/Python
for에서 자주 사용되는 함수에 대한 설명은 아래 링크가 가장 잘 되어 있는 것 같다. 추후에 참고해야겠다. https://wikidocs.net/16045 위키독스 온라인 책을 제작 공유하는 플랫폼 서비스 wikidocs.net 1. 반복할 구문 2. range 3. enumerate
Python namedtuple (네임드 튜플)
·
언어/Python
introducing python 을 통해서 알게된 네임드 튜플이다. 간단하게 정리하자면 보통 튜플의 경우에는 인덱스를 통해서 튜플 접근이 가능한데, namedtuple 을 사용하면 key 값으로 접근이 가능하다고 볼 수 있다. 즉, key - value 로 작동하는 딕셔너리와 같이 작동한다고 보면 되지만, 튜플의 성질을 가진다. (참 뭔가 애매한것 같다..) 네임드 튜플은 아래와 같은 특성을 지니고 있다는데 1. 튜플의 기본 성질인 불변 객체 2. 일반 Class(객체) 형태보다 적은 메모리 사용 3. 다양한 접근법 지원(괄호, ) 4. Dictionary Key 와 같이 사용 아래의 예제가 네임드 튜플의 특성을 잘 보여주는 것 같다. from collections import namedtuple fr..
파이썬 데코레이터에 대해서?
·
언어/Python
파이썬에서 데코레이터란 기존의 코드에 여러가지 기능을 추가하는 파이썬 구문. @decorator def function(): print("I am a decorator!") 위와 같은 코드를 데코레이터라고 말한다. " @ " 심볼과 데코레이터 함수의 이름을 붙이는 간단한 구문을 사용하면 데코레이터를 사용할 수 있다. 대상함수를 wrapping 하고, 이 wrapping 된 함수의 앞 뒤에 추가적으로 꾸며질 구문들을 정의하여 재사용이 쉽도록 만들어 주는 것이다. 하나의 함수를 취해서 또 다른 함수를 반환하는 함수이다. def document_it(func): def new_function(*args, **kwargs): print('running function:', func.__name__) print(..
Python side project 03 : Email slicer (이메일 슬라이서)
·
언어/Python
지금 개인적으로 진행하고 있는 파이썬 사이드 프로젝트들은 꽤 간단한 편이다. 생각보다는 쉬워서 건너뒤고 다른 것을 해볼까 싶기도 하지만, 잠깐 잠깐 공부하고, 다시 기초를 다진다는 생각으로 하면서 점차 어려운 프로젝트로 발전시켜 나가면 좋을 것 같다 그런 의미에서 오늘은 간단한 email slicer 를 만들었다. 이메일을 입력하면 도메인 주소와 아이디를 분류해주는 코드이다. 처음에는 그저 어려운줄 알았지만, 막상 자료를 찾아보니 꽤 쉬웠다. emails = input("이메일을 입력해주세요!").strip() # -> strip()를 써준 이유는 input 입력과정에서 # 공백이 만들어질 수 있기에 이를 방지해주고자 썻다. # 다른 프로젝트에서 input 을 사용할 때 위 방법을 응용하면 공백방지에 도..
python error : list indices must be integers or slices, not str
·
Error code 모음/4. Python errors
이 에러는 인덱싱을 할 때 있어서, 인덱싱으로 기입해준 문자열이 제대로 일치하지 않거나 잘못되었을 때 나타나는 에러이다. 최근에 자주 이런 에러를 만났었는데. indices 가 뭐지... 곰곰히 생각을 하다가..문득.. indices 는 index 의 복수형.. 이라는 것을 깨달앗다. 그토록 많이 외웟던 단어이건만... 이 에러가 나올 때마다..다시 찾고 바로 해결하고 넘어가느냐..에휴... 바보스럽다..ㅠㅠ 앞으로는 이런 것을 보면 인덱싱 쪽에 문제가 있다는 것을 캐치해야겟다 주의! 참고링크 https://www.codeit.kr/community/threads/7 TypeError: list indices must be integers or slices, not str 오류 | 코드잇 새로운 코딩 교..