zoukankan      html  css  js  c++  java
  • 用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()
  • 相关阅读:
    MS SQLSERVER 第三天
    MS SQLSERVER 第二天
    今天开始我的 MSSQLSERVER 之旅
    从今天开始就正式我的博客之旅
    mac 本地搭建mybatisGenerator代码生成环境
    idea中git远程版本回退
    Junit调试解决本地多线程异步调用
    Lambda表达式总结
    JDK8函数式编程之Stream API
    MySql分页查询慢的解决方案
  • 原文地址:https://www.cnblogs.com/lexus/p/2404319.html
Copyright © 2011-2022 走看看