用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()