2013-11-22 1 views
0

저는 파이썬 초보자입니다. 내가 문제가있는 건 내 배열에서 노래를 검색하고 webbrowser.open_new_tab()에서 재생할 URL을 사용하여 URL을 선택하는 것입니다. 평 파일은 다음과 같습니다json에서 정보 얻기 및 기능에서 사용하기

{"LinkCollection": 

[{"title":"I Will Always Love You" , 
"artist":"Whitney Houston" , 
"link":"http://www.youtube.com/watch?v=3JWTaaS7LdU", 
"id":1}, 

{"title":"Killing Me Softly" , 
"artist":"Roberta Flack" , 
"link":"http://www.youtube.com/watch?v=LQ2t5e7stVM", 
"id":2} 
]} 

더있다 단순하지만, 나는 여기에 모든 데이터를 작성하지 않은 :

import json 
import Link_Class 
import Music_Database 
from pprint import pprint 
m = Link_Class.MusicLink() 
import webbrowser 

search = raw_input("Find this Song: ") 
results= m.searchSong(search) 
pprint(results) 

내 JSON 파일입니다.

답변

0

첫 번째 결과를 열시겠습니까?

link = results['LinkCollection'][0]['link'] 
webbrowser.open_new_tab(link) 
+0

그래, 내가 할. 그리고 그것을 시도했을 때 나는 오류가 발생했습니다. 내가있어 : 트레이스 백 (가장 최근에 마지막으로 전화) : 파일 "C : \ Documents and Settings \ homare \ workspace \ 가라오케 \ main.py", 라인 30, 링크 = results [ 'LinkCollection'] [0] [ 'link'] TypeError : 목록 색인은 str이 아닌 정수 여야합니다. – user2843235

1

json.load으로 매우 간단하게 수행 할 수 있습니다

with open('your_file.json', 'r') as out: 
    data = json.load(out) 

# then fetch you data 

for song in data['LinkCollection']: 
    if song['title'] == search: 
     webbrowser.open_new_tab(song['link']) 
     break 
+0

비디오가 나오지 않았습니다. 코드를 추가하려면 코드를 추가해야합니까? – user2843235

+0

링크를 인쇄하여 찾았습니까? – evuez

+0

배열에서 뭔가를 인쇄하는 방법을 잘 모르겠습니다. 나는 목록을 위해 그것을하는 방법을 안다. – user2843235