用python写的测试网页和文件编码的小程序 - cloudaice - 博客园
用python写的测试网页和文件编码的小程序
这几天闲着呆在实验室,就自己学学python,不过写出来的程序都是很难看的,将就还是能用吧,在《可爱的python》中学习了cmd模块,于是就照锚画虎的自己琢磨着在其他一些小程序当中也使用上。这是一个测试网页编码或者文件编码的小程序,需要chaedet模块,顺便为了学习使用git,于是就把代码托管到github上了,地址为 git@github.com:cloudaice/codetest.git.
下面贴上代码
1 # -*- coding:utf-8 -*- 2 import cmd 3 import urllib 4 import sys 5 import chardet 6 from chardet.universaldetector import UniversalDetector 7 class definecode(cmd.Cmd): 8 def __init__(self): 9 cmd.Cmd.__init__(self) 10 self.preaddr="http://" 11 self.prompt='(testcode)>' 12 self.intro=''' 13 website 输入网址 输入要检测编码方式的网站的网址 14 exit or q 推出程序 15 ''' 16 def help_exit(self): 17 print "推出程序" 18 def do_exit(self,line): 19 sys.exit() 20 21 def help_website(self): 22 print "输入网站的网址" 23 def do_website(self,website): 24 if website=='': 25 website=raw_input("输入网址 ") 26 if not self.preaddr in website: 27 website=self.preaddr+website 28 sock = urllib.urlopen(website) 29 detector = UniversalDetector() 30 for line in sock.readlines(): 31 detector.feed(line) 32 if detector.done: 33 break 34 detector.close() 35 sock.close() 36 result = detector.result 37 print "该网站的编码是 "+result['encoding'] 38 39 def help_files(self): 40 print "输入文件完整路径和文件名" 41 def do_files(self,filenames): 42 if filenames=='': 43 filenames=raw_input("输入文件完整路径和文件名") 44 f = open(filenames) 45 detector = UniversalDetector() 46 for line in f.readlines(): 47 detector.feed(line) 48 if detector.done: 49 break 50 detector.close() 51 f.close() 52 result = detector.result 53 print "该文件的编码是 "+ result['encoding'] 54 55 do_q = do_exit 56 57 if __name__ == '__main__': 58 testcode = definecode() 59 testcode.cmdloop()