发布新日志

  • 【转】网络翻译实现

    2012-08-31 16:01:31

    原理:利用有道翻译api,提交要查询的单词,返回json结果,然后对结果进行解析输出。

    代码在Win7中文系统,Py2.7.3调试通过,有道翻译的key要自己申请:
    # -*- coding: cp936 -*-

    import urllib

    import json

    kf = 'xxxx'   #申请的keyfrom
    k = 'xxxxxxxxxx' #申请的API key

    def dealjson(ret):

        ret = json.loads(ret)

        error = ret['errorCode']

        print error

        if error == 20:

            print '要翻译的文本过长'

        elif error == 30:

            print '无法进行有效的翻译'

        elif error == 40:

            print '不支持的语言类型'

        elif error == 50:

            print '无效的key'

        elif error == 0:

            trans = ret['translation']

            for i in trans:

                print i

            print ret['query']

            if 'basic' in ret.keys():

                explain =  ret['basic']['explains']

                for i in explain:

                    print i

                    web =ret['web']

                    for i in web:

                        print i['key'],

                        for j in i['value']:

                            print j,

                        print



    if __name__=='__main__':

        while True:
            kf = 'xxx'
            k = 'xxxx'
            word = raw_input('输入英语单词: ')

            if word == '':

                continue

            word = urllib.quote(word)

            print word

            url = 'http://fanyi.youdao.com/openapi.do?keyfrom='+ kf +'&key=' + k + '&type=data&doctype=json&version=1.1&q='+word

            ret = urllib.urlopen(url).read()
            dealjson(ret)

    转载自:http://www.cnblogs.com/ma6174/
  • Python中文件夹处理方法汇总

    2012-08-27 16:28:02

    os.walk(path),例如:
          import os
          from os.path import join,getsize

          for root, dirs,files in os.walk('d:/Testdata/'):    #指定文件夹路径
              print root
             
             
                  for name in dirs:
                      folder = open('foldername.txt', 'a+')
                      print >> folder, name    #保存文件夹名称
                  folder.close()

             
                  for name in files:
                      filename = open('filename.txt', 'a+')
                      print >> file, name    #保存文件名称
                  filename.close()
            
             
                  for name in dirs:
                      fullpath = open('fullpath.txt', 'a+')
                      print >> fullpath, join(root,name)    #保存文件夹完整路径名称
                  fullpath.close()         

                  result=[]
                  for name in files:
                      if name.endswith('.exe'):    #显示指定文件后缀名的文件
                          print name
                          result.append(name) 

                  for name in files:
                       os.remove(os.path.join(root, name))  #移除文件

                  for name in dirs:
                       os
    .rmdir(os.path.join(root, name)) #移除目录


                  print sum(getsize(join(root, name)) for name in files),
                  print
    "bytes in", len(files), "non-directory files"
                  if 'CVS' in dirs:
                       dirs.remove('CVS') # don't visit CVS directories
           
             
           os.listdir(path),也能获取指定目录下的文件和文件夹名称,并返回一个列表,它不包含子目录下的名称。
           os.mkdir(path)来创建目录。
           os.makedirs(path))来创建多级目录。
           os.rmdir(path)来删除文件夹。(目录为空,否则会报错)
           os.remove(path)来移除文件。
           os.removedirs(path)来移除多个文件夹。
           os.rename(src,dst)来给文件和文件夹重命名。
           os.renames(src,dst),类似removedirs。
           os.getcwd()来显示当前目录。
           os.chdir(path)来改变当前目录。
           os.stat(path)来显示文件的属性。如:st_size是文件大小,单位bytes,st_atime是访问时间(time.ctime(filestats[stat.st_atime]))
           os.walk(path),遍历目录下所有目录和文件,返回一个3元组,[目录X,目录下的list,文件名]
           os.path.split(path),把path分成两部分。
           os.path.splitext(filename),把文件名分成文件名称和扩展名。
           os.path.dirname(path),把目录名提出出来。
           os.path.basename(filename),取出文件名。
           os.path.getatime(path),获取path最后访问时间。
           os.path.getmtime(path),获取path最后修改时间。
           os.path.getctime(path),回去path创建时间。
           os.path.getsize(path),获取path大小。
           os.path.isabs(path),如果 path 是一个绝对路径名返回True (以一个斜杠开始)。
           os.path.isfile(path),如果文件存在,返回True。
           os.path.isdir(path),如果目录存在,返回True。
           os.path.realpath(path),标准化一个路径名。
          

    参考:
    Py2.7.3 docs 15.1.3. File Descriptor Operations
  • Twisted框架、zope.interface和pyOpenSSL的安装

    2012-08-27 13:48:09

    1、从http://pypi.python.org/pypi/zope.interface下载最新的egg。
    2、把这个egg文件拷贝到python根目录下的scripts目录,跟easy_install.exe在同个目录。
    3、进入cmd模式,在cmd模式下进入这个script目录,执行easy_install.exe  egg文件名,执行安装这个egg文件。

    验证安装成功:import zope.interface,不报错。

    注:
    1、从http://pypi.python.org/pypi/pyOpenSSL下载跟本机Python版本对应的egg文件,安装方法同上。

    2、Twisted框架从http://twistedmatrix.com/trac/wiki/Downloads下载。
Open Toolbar