2017-01-15 4 views
-2
`Traceback (most recent call last): 
    File "fmcrawler_sql.py", line 317, in <module> 
    crawl(initFighter=fighter,K=4) 
    File "fmcrawler_sql.py", line 114, in crawl 
    write_page_to_database(initFighterURL,cur) 
    File "fmcrawler_sql.py", line 292, in write_page_to_database 
    write_fights_to_database(fights,cur) 
    File "fmcrawler_sql.py", line 211, in write_fights_to_database 
    fightId = hash(bothFighters+fight['Event']) 
    TypeError: cannot concatenate 'str' and 'list' objects 
` 

이 줄에는 어떤 문제가 있습니까?데이터베이스 : TypeError : 'str'및 'list'개체를 연결할 수 없습니다.

+0

당신이 몸에 의문을 제기하지만, 그것은 매우 설명하지, 당신의 문제에 대해 많이 이야기하지만, 당신이 가진 문자열을 연결하려고하는 것 같습니다하지 않습니다 목록 객체 :'bothFighters + fight [ 'Event']', 일부 코드 게시! –

+0

해당 오류를 발생시키는 충분한 양의 코드를 표시해야합니다. [최소한의 완전하고 검증 가능한 예제를 만드는 방법] (http://stackoverflow.com/help/mcve)를 참조하십시오. –

답변

0

TypeError을 읽으십시오 : 문자열과 목록이 있습니다 ... 목록이 분명하기 때문에 목록에서 '이벤트'를 꺼내 다른 변수와 연결 한 다음 목록에 다시 넣어야합니다. 당신이 필요로하는 것에 달려 있습니다.

>>> ['a']+['b'] 
['a', 'b'] 
>>> l = ['b'] 
>>> ['a' + l[0]] 
['ab'] 
>>> 
0

게시 한 내용의 실제 상황을 볼 수는 없지만이 오류는 매우 일반적입니다. 실제 코드의 어딘가에 문자열과 목록을 연결 (또는 추가)하려고합니다. 문제는 여기서 발생합니다

File "fmcrawler_sql.py", line 211, in write_fights_to_database 
fightId = hash(bothFighters+fight['Event']) 
    TypeError: cannot concatenate 'str' and 'list' objects 

을 나는 bothFighters가리스트와 fight['Event']은 문자열입니다 같은데요. 문자열을 목록으로 변경하면 오류가 사라집니다. (파이썬에서는리스트를 "추가"할 수 있으므로 두리스트의 첫 번째 레벨 항목으로 더 긴리스트를 생성한다).

그래도 도움이 필요하면 코드를 업데이트하십시오.


List concatenation in Python

String concatenation basics if you ever need 'em.


관련 문제