2012-08-17 4 views
0

현재 Python을 배우고 있으며 Java/C++ 및 C 배경에서 왔습니다. 나는 보통 디버거에서 "객체"를 "검사"하여 무슨 일이 일어나고 있는지 더 잘 이해할 수 있기를 바란다. 그래서 파이썬에 이상한 것처럼 보인다면 내 질문에 변명해라.Python에서 urllib2 객체를 검사하는 방법은 무엇입니까?

저는 urllib2 문서를 파이썬 웹 사이트에서 읽었습니다. 다음의 예를 나타내었다 :

>>> import urllib2 
>>> for line in urllib2.urlopen('http://tycho.usno.navy.mil/cgi-bin/timer.pl'): 
...  if 'EST' in line or 'EDT' in line: # look for Eastern Time 
...   print line 

내가 urlopen이 페이지의 콘텐츠를 다운로드 할 것을 이해합니다.

urlopen은 (는) HTML 콘텐츠를 다운로드합니까? 나는 다음을 시도했다 :

content = urllib2.urlopen('http://tycho.usno.navy.mil/cgi-bin/timer.pl') 
print content 

어떤 물건을 산출. 이 물체의 본질은 무엇입니까? 사전 같은 물체입니까? 그렇다면 핵심 가치가 무엇인지 어떻게 검토 할 수 있습니까? 그게 파이썬에서 pickling을 사용하여 완성 되었습니까?

나는 geturl() 방법을 알고 있지만, urlopen()이 무엇을하는지 완전히 이해하고 싶습니다.

감사합니다.

답변

0

예, 당신은 사용하여 콘텐츠를 인쇄 할 수 있습니다 또한

print content.read() 

, 나는 IPython을 제안하고 싶습니다, 당신은 객체 메소드를 검사 할 수 있도록 아주 쉽게 속성 : 그래서

dir(content) 
1
import pdb 
pdb.set_trace() 

원본의 중단 점과 같은 위치에이 이름을 배치하면 이름과 개체를 대화식으로 검사 할 수 있습니다. 당신이있어 일단, 당신은 또한

객체 http://docs.python.org/library/inspect.html#module-inspect

또한

dir(my_object)의 속성과 메서드를 검사하기위한 옵션이 있습니다

import inspect 

비슷한 일을 할 수있는 저렴한 방법입니다 사용할 수 있습니다

1

the documentation에서 :

이 기능은 두 개의 추가 방법과 파일 - 류의 객체를 반환합니다 ...

그래서 이미 파일처럼 읽을 수 있습니다.

+0

' 파일을 열어서 각각의 모든 단일 라인을 읽으시겠습니까? – darksky

+0

파일과 유사한 객체는 [파일 객체] (http://docs.python.org/library/stdtypes.html#file-objects)처럼 동작합니다. –

관련 문제