Skip to content
파이썬
2021.09.09 21:56

파이썬 오류모음(에러모음)

조회 수 3707 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부

파이썬 키움증권 오류모음

 

 

Google 계정이 소유자임에도 불구하고 Google 인증 웹 API의 "오류 403: access_denied"

Error 403: access_denied하면 메시지와 함께 오류가 발생합니다.The developer hasn’t given you access to this app. It’s currently being tested and it hasn’t been verified by Google. If you think you should have access, contact the developer [the email I just tried to log in with].

 

2.png

 

이 문제를 해결하는 방법은 간단했습니다.

  1. https://console.developers.google.com/으로 이동합니다.
  2. "Google API"라는 단어 옆의 왼쪽 상단에서 오른쪽의 프로젝트 드롭다운을 클릭합니다.
  3. 올바른 프로젝트가 선택되었는지 확인하십시오.
  4. 화면 왼쪽('자격 증명' 아래)의 'OAuth 동의 화면'을 클릭합니다.
  5. 동의 화면을 생성하지 않았다면 먼저 생성하세요.
  6. "테스트 사용자" 아래에 "+ 사용자 추가"라는 버튼이 있습니다.
  7. 테스트할 계정의 이메일을 입력하고 Enter 키를 누른 다음 저장을 클릭합니다.
  8. 지금 작동해야 합니다!

작년에는 이 작업을 수행할 필요가 없었기 때문에 최근에 업데이트한 것 같습니다.

 

 

 

 

 

구글 캘린더 api 사용시

Client secrets must be for a web or installed app. <<<에러

 

문제는 OAuth 2.0 클라이언트 ID가 아닌 서비스 계정 키 관리 서비스 계정에서 생성 된 json을 사용하고 있다는 것입니다.

 

이 Oauth2 클라이언트 ID가 아닌 서비스 계정을 통해 실제로 GCP 캘린더 API에 연결하기를 원하기 때문에 여기에 오는 사람을 위해 creds다음과 같이 원래 예제에서 개체를 만듭니다 .

from google.oauth2 import service_account

SCOPES = ['https://www.googleapis.com/auth/sqlservice.admin']
SERVICE_ACCOUNT_FILE = '/path/to/service.json'

credentials = service_account.Credentials.from_service_account_file(SERVICE_ACCOUNT_FILE, scopes=SCOPES)

서비스 계정이 올바른 액세스로 구성되어 있다고 가정하면 사용자에게 확인을 요청하지 않고 캘린더에 액세스합니다.

 

 

 

 

 

 

 

 

 

ImportError: No module named apiclient.discovery 오류가 발생하는 이유는 무엇입니까?

 

# bad
from apiclient.discovery import build

# good
from googleapiclient.discovery import build

 

 

TypeError: list indices must be integers or slices, not str

1.png

 

2.png

 

 


hoga_temp = self.hoga_stock_dict[self.hoga_x[index]]

 

list형에 숫자를 넣는게 아니라 문자를 넣어야 한다.

 


 

ValueError: invalid literal for int() with base 10: ' '
 

이러한 에러가 나는 이유

1 2 3 4와 같이 값 사이에 공백이 있는 입력을 받았는데 공백을 int로 형변환 하면 생긴다.

input이나 sys.stdin.readline()으로 입력 받으면

list = [1, ' ', 2, ' ', 3, ' ', 4] 이런식으로 리스트에 값이 들어갈 것이다.

for i in range(n):

  int(list[i])

이렇게 되면 에러가 뜰 것이다. 1은 str형이라 int형으로 변환이  가능하지만, ' '은 공백이라 매칭되는 int형 값이 나올 수 없다.

 

sys.stdin.readline().split(' ') 이렇게 split()을 써서 공백을 기준으로 분리해야한다.



 

 

 

ValueError: invalid literal for int() with base 10: '' 오류

현재가 for문으로 여러개의 데이터 조회중에 갑자기 나타난 오류??? 뭘까?

Traceback (most recent call last):

  File "연습장.py", line 362, in tr_slot

    trvalue = abs(int(trvalue.strip()))    =>>>   int(float(e))

ValueError: invalid literal for int() with base 10: ''

 

H:\python\kiwoomapi\anaconda3\키움증권>

 

 

 해결 방법

 

int 함수는 정수문자열(interger string, "3.14" 과 같은), 실수(float, 6.02)를 인자로 받기를 기대합니다만 예시와 같이 실수문자열(float string)은 넣게 되면 ValueError 가 나게 됩니다.

 

그렇다면 어떻게 하면 정수로 바꿀 수 있을까요?

먼저 바꾸려는 실수문자열을 float함수를 사용하여 실수로 바꿉니다.

그 다음 실수를 int함수를 사용하여 정수로 바꾸면 됩니다.

 

1
2
3
4
5
>>> e = '2.71'
>>> float(e)
2.71
>>> int(float(e))
2
cs

 

소수점부분이 잘려나가서 정수만 남게 되었군요 ㅎㅎ

반올림의 개념이 아닌 정수부분만 남게 된것에 주목해주세요!



출처: https://korbillgates.tistory.com/94 [생물정보학자의 블로그]

 

 

 

 

 

 

 

 

 

 

 

 

 

 

로그인 후 댓글쓰기가 가능합니다.

?

  1. 파이썬 변수전달하기

  2. 키움증권 OpenAPI 당황스러움

  3. 파이썬 매수할 피라미드 매수전략

  4. 파이썬 any, all 사용하기(배열데이터 안에 값이 하나라도 있는지 또는 모두 있는지 비교)

  5. 네이버 주식에서 종목의 투자정보 자료 가져오기

  6. python class def

  7. 파이썬 키움증권 open api 분할매매 주문하기

  8. 파이썬 dictionary 딕셔너리 조작

  9. 파이썬 키움openAPI 보유종목 종목리스트 피라미드 매도주문하기

  10. 파이썬 openyxl 엑셀파일(xlsx) 저장하기

  11. 파이썬 datetime 모듈로 초간단 날짜 표현하기

  12. 파이썬 변수내용 문자열 자르기 특이한 점

  13. 파이썬 키움openAPI 보유종목 종목리스트 피라미드 매수주문하기

  14. python html tag 제거 경로 금지 문자 제거

  15. 파이썬 정규표현식 (Regular Expressions)

  16. python 에서 구글 캘린더 api 이용하기(server to server)

  17. 네이버 주식의 기업정보와 펀더멘탈정보 소스 가져오기

  18. Python 메타블로그 글쓰기(제로보드, xpressengine blog api)

  19. 파이썬 팍스넷 추천종목 특정페이지 크롤링

  20. 파이썬 비활성화 된 창 활성화 시키기

Board Pagination Prev 1 2 3 Next
/ 3

http://urin79.com

우린친구블로그

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소