• 用python写的测试网页和文件编码的小程序


    用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()
  • 相关阅读:
    【springboot】 springboot整合quartz实现定时任务
    Map集合的四种遍历方式
    WCF自引用和循环引用导致的序列化问题
    c#反射
    小助手配置文件列表页
    WPF数据绑定(ItemTemplate和DataTemplate)
    TankMapData
    手机qq协议做的第三方qq软件
    WPF MVVM模式学习
    小助手(应用盒子之我的实现思路及示例程序)
  • 原文地址:https://www.cnblogs.com/lexus/p/2404318.html
Copyright © 2020-2023  润新知