그럼,
edic-python help도 되고 edic-python도 되게 해봅니다.
#!/usr/bin/env python
import urllib
import formatter
import htmllib
import string
import cStringIO
import tempfile
import re
import os
import sys
def toText(str):
out = cStringIO.StringIO()
w = formatter.DumbWriter(out)
f = formatter.AbstractFormatter(w)
p = htmllib.HTMLParser(f)
p.feed(str)
p.close()
return out.getvalue()
def translate(word):
url = "http://kr.engdic.yahoo.com/result.html?p=%s" % string.strip(word)
m = re.compile("(image)")
data = m.sub("", toText(urllib.urlopen(url).read()))
tmp = string.split(data[:-388], '[17]') #XXX -388??
return tmp[1]
if __name__ == "__main__":
try:
print translate(sys.argv[1])
except:
while 1:
word = raw_input("찾는 단어: ")
file = tempfile.mktemp()
f = open(file, 'w')
f.write(translate(word))
f.close()
print "-"*80
os.system("cat %s |more" % file)
os.unlink(file)
print "-"*80
: 이것도 역시.. 그냥 커맨드 프롬프트에서 사전을 쓸 수 있게 하려면 어떻게 고쳐야 하죠
? 예를들어서, :
: $ edic-python help
:
: 하면 help에 대한게 나오고 종료되도록 하려면..
: 어떻게 고쳐야죠?
:
: (아래 스크립을 edic-python으로 저장했습니다)
:
: : 참 좋은데요 이쁘고... 헌데.
: : 이상하게 제 한텀에서는 한글이 가끔 깨져서 나오네요
: : 나만 그런건지??
: : 그래서 파이썬으로 다시 만들어 봤슴다.
: :
: : #!/usr/bin/env python
: :
: : import urllib
: : import formatter
: : import htmllib
: : import string
: : import cStringIO
: : import tempfile
: : import re
: : import os
: :
: : def toText(str):
: : out = cStringIO.StringIO()
: : w = formatter.DumbWriter(out)
: : f = formatter.AbstractFormatter(w)
: : p = htmllib.HTMLParser(f)
: : p.feed(str)
: : p.close()
: : return out.getvalue()
: :
: : while 1:
: : word = raw_input("찾는 단어: ")
: : url = "http://kr.engdic.yahoo.com/result.html?p=%s" % string.strip(word)
: : m = re.compile("(image)")
: : data = m.sub("", toText(urllib.urlopen(url).read()))
: : file = tempfile.mktemp()
: : f = open(file, 'w')
: : tmp = string.split(data[:-388], '[17]') #XXX -388??
: : f.write(tmp[1])
: : f.close()
: : print "-"*80
: : os.system("cat %s |more" % file)
: : os.unlink(file)
: : print "-"*80