더북(TheBook)

이 코드의 실행 결과는 다음과 같습니다.

connected
8*********
['000020', '000040', '000050', (...), '700003', '700001', '900140']

로그인에 성공했다는 connected가 출력되고 이어서 모의투자 계좌번호가 나옵니다. 그다음 줄부터가 get_code_list_by_market 함수의 수행 결과입니다. 6자리 숫자로 구성된 문자형 데이터가 리스트에 저장되어 있으며, 코스피에 상장된 전체 종목 코드가 모두 나타납니다. 함수가 잘 동작하는 것을 확인했으니 이제부터 코드를 하나씩 살펴보겠습니다.

code_list = self.dynamicCall("GetCodeListByMarket(QString)", market_type)

code_list에는 구분 값(market_type)에 해당하는 시장에 속한 종목 코드가 저장됩니다. 다만 앞서 다룬 get_account_number 함수에서 계좌번호 목록을 ‘;’으로 구분한 하나의 긴 문자열을 얻어 온 것처럼 code_list에 저장되는 값 역시 종목 코드들을 ‘;’으로 구분한 문자열로 되어 있습니다. 그러므로 get_account_number 함수에서 했던 것처럼 split를 사용하여 ‘;’을 기준으로 구분한 값을 리스트로 반환하는 코드가 필요합니다.

code_list = code_list.split(';')[:-1]
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.