• Standard Library Modules Using Notes


    • 类型转换

    int(x [,base ]) 整数 long(x [,base ]) 长整数 float(x ) 浮点数 complex(real [,imag ]) 复数 str(x ) 字符串 repr(x ) 表达式字符串
    eval(str ) 用来计算在字符串中的有效Python表达式,并返回一个对象
    tuple(s ) 元组 list(s ) 列表 chr(x ) 字符 unichr(x ) Unicode字符 ord(x )字符转换为它的整数值
    hex(x ) 整数转换为一个十六进制字符串 oct(x ) 整数转换为一个八进制字符串

    • _winreg
    REG_NONE 0 REG_SZ 1 REG_EXPAND_SZ 2 REG_BINARY 3 REG_DWORD 4 REG_DWORD_LITTLE_ENDIAN 4 REG_DWORD_BIG_ENDIAN 5 REG_LINK 6 REG_MULTI_SZ 7
    REG_RESOURCE_LIST 8 REG_FULL_RESOURCE_DESCRIPTOR 9 REG_RESOURCE_REQUIREMENTS_LIST 10 REG_QWORD 11 REG_QWORD_LITTLE_ENDIAN 12

    CloseKey() – 关闭一个Key
    ConnectRegistry() – 链接到其他机器的注册表
    CreateKey() – 创建一个Key
    DeleteKey() – 删除一个Key
    DeleteValue() – 删除一个Key里面的值(value)
    EnumKey() – 为已经打开的Key里面的子键建立索引
    EnumValue() – 为打开的键中的值建立索引
    FlushKey() – 回写所有的键属性改变到注册表
    LoadKey() – 从指定文件读入键信息
    OpenKey() – 打开一个键
    OpenKeyEx()
    QueryValue() – 在注册表中检索一个键的路径
    QueryValueEx() – 注册表中检索一个键的路径
    QueryInfoKey() – 返回关于键的信息
    SaveKey() – 保存键到文件
    SetValue() – 设置一个键
    SetValueEx() – 设置一个值
    # traverse all values of one key
    key = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE, "SYSTEM\CurrentControlSet\Control\Session Manager\Environment", 
                  0, _winreg.KEY_WRITE)
    try:
        i = 0
        while True:
            name, value, type = _winreg.EnumValue(key, i)
            print repr(name), value, type
            i += 1
    except WindowsError, e:
        print e
    
    # query specified value directly
    (value, valuetype) = _winreg.QueryValueEx(key, 'Path')
    View Code
     1 # __author__ = 'rtian'
     2 import sys, os
     3 
     4 # 返回path规范化的绝对路径
     5 os.path.abspath('../csv\test.csv') # 'C:\csv\test.csv' 
     6 
     7 # 将path分割成目录和文件名二元组返回
     8 os.path.split('c:\csv\test.csv') # ('c:\csv', 'test.csv') 
     9 os.path.split('c:\csv\') # ('c:\csv', '') 
    10 
    11 # 返回path最后的文件名,即os.path.split(path)的第二个元素
    12 os.path.basename('c:\test.csv') # 'test.csv' 
    13 os.path.basename('c:\csv') # 'csv'(这里csv被当作文件名处理了)   
    14 os.path.basename('c:\csv\') # ''
    15 
    16 # 返回list中,所有path共有的最长的路径
    17 os.path.commonprefix(['/home/td', '/home/td/ff', '/home/td/fff']) # '/home/td' 
    18 
    19 # 如果path存在,返回True;如果path不存在,返回False
    20 os.path.exists('c:\') # True   
    21 
    22 # 如果path是绝对路径,返回True
    23 os.path.isabs('path')
    24 
    25 # 如果path是一个存在的文件,返回True。否则返回False 
    26 os.path.isfile('c:\boot.ini') # True   
    27 os.path.isfile('c:\csv\') # False   
    28 
    29 # 如果path是一个存在的目录,则返回True。否则返回False
    30 os.path.isdir('c:\windows\test.csv') # False
    31 
    32 # 将多个路径组合后返回,第一个绝对路径之前的参数将被忽略
    33 os.path.join('c:\', 'csv', 'test.csv') # 'c:\csv\test.csv'   
    34 os.path.join('windows	emp', 'c:\', 'csv', 'test.csv') # 'c:\csv\test.csv'   
    35 os.path.join('/home/aa','/home/aa/bb','/home/aa/bb/c') # '/home/aa/bb/c'   
    36 
    37 # 在Linux和Mac平台上,该函数会原样返回path,在windows平台上会将路径中所有字符转换为小写,并将所有斜杠转换为饭斜杠
    38 os.path.normcase('c:/windows\system32\') # 'c:\windows\system32\'
    39 
    40 # 规范化路径
    41 os.path.normpath('c://windows\System32\../Temp/') # 'c:\windows\Temp'
    42 
    43 #从start开始计算相对路径
    44 os.path.relpath(path[, start])
    45 p = 'a/b/c/d'
    46 print os.path.relpath(p) #默认当前目录开始 相当于 ./a/b/c/d
    47 print os.path.relpath(p,'a/b')# 以a/b/目录开始 c/d
    48 
    49 # 返回(drivername,fpath)元组
    50 os.path.splitdrive('c:\windows') # ('c:', '\windows')   
    51 
    52 # 分离文件名与扩展名;默认返回(fname,fextension)元组,可做分片操作
    53 os.path.splitext('c:\csv\test.csv') # ('c:\csv\test', '.csv')
    54 
    55 # 返回path的文件的大小(字节)
    56 os.path.getsize('c:\boot.ini')# 3.299L
    57 
    58 # 返回path所指向的文件或者目录的最后存取时间a 最后修改时间m
    59 os.path.getatime('path')
    60 os.path.getmtime('path')
    61 
    62 # 获取操作系统当前的路径
    63 os.getcwd()
    64 os.path.abspath(os.curdir)
    65 os.path.abspath('.')
    66 
    67 os.path.dirname(__file__)
    68 # (1).当"print os.path.dirname(__file__)"所在脚本是以完整路径被运行的, 那么将输出该脚本所在的完整路径,比如:
    69 # python d:pythonSrc	est	est.py 那么将输出 d:pythonSrc	est
    70 # (2).当"print os.path.dirname(__file__)"所在脚本是以相对路径被运行的, 那么将输出空目录,比如:
    71 # python test.py 那么将输出空字符串
    View Code
    import re
    
    # re.match 尝试从字符串的开始匹配一个模式, 匹配成功,则返回一个Match,否则返回None
    re.match(pattern, string, flags)
    re.match(‘super’, ‘superstition’).span() (0, 5)
    
    # re.search函数会在字符串内查找模式匹配,只到找到第一个匹配然后返回,如果字符串没有匹配,则返回None
    re.search(pattern, string, flags)
    
    # re.sub用于替换字符串中的匹配项。下面一个例子将字符串中的空格 ' ' 替换成 '-' 
    >>> text = "hell o , you asr.."
    >>> re.sub(r"s+", '-', text) 'hell-o-,-you-asr..'
    re.sub(r's', lambda m: '[' + m.group(0) + ']', text, 0);# 将字符串中的空格' '替换为'[ ]'。
    
    # re.split来分割字符串, 将字符串按空格分割成一个单词列表
    >>> re.split(r's+', text) ['hell', 'o', ',', 'you', 'asr..']
    
    # re.findall获取字符串中所有匹配的字符串
    re.findall(r'w*oow*', text)获取字符串中,包含'oo'的所有单词
    
    # re.compile把经常使用的正则表达式编译成正则表达式对象
    text = "JGood is a handsome boy, he is cool, clever, and so on..."
    regex = re.compile(r'w*oow*')
    print regex.findall(text)   #查找所有包含'oo'的单词
    print regex.sub(lambda m: '[' + m.group(0) + ']', text) #将字符串中含有'oo'的单词用[]括起来。
    View Code
    • subprocess 
    import subprocess
    cmd="cmd.exe"
    begin=1
    end=3
    while begin<end:
        p=subprocess.Popen(cmd,shell=True,stdout=subprocess.PIPE,
                       stdin=subprocess.PIPE,
                       stderr=subprocess.PIPE)
        p.stdin.write("ping 192.168.32."+str(begin)+"
    ")
        p.stdin.close()
        p.communicate()
        print "execution result: %s"%p.stdout.read()
        begin=begin+1
    View Code
    • shutil 
    import os
    import shutil
    
    # 用shutil.copytree当dst存在且不能删除时
    root_src_dir = 'Src Directory\'
    root_dst_dir = 'Dst Directory\'
    
    for src_dir, dirs, files in os.walk(root_src_dir):
        dst_dir = src_dir.replace(root_src_dir, root_dst_dir)
        if not os.path.exists(dst_dir):
            os.mkdir(dst_dir)
        for file_ in files:
            src_file = os.path.join(src_dir, file_)
            dst_file = os.path.join(dst_dir, file_)
            if os.path.exists(dst_file):
                os.remove(dst_file)
            shutil.move(src_file, dst_dir)
    View Code
    • __all__
    一、在模块(*.py)中使用意为导出__all__列表里的类、函数、变量等成员,否则将导出modualA中所有不以下划线开头(私有)的成员,在模块中使用__all__属性可避免在相互引用时的命名冲突
    二、在包(假设pkgA,pkgA是一个文件夹)的__init__.py中意为导出包里的模块
    例:pkgA/__init__.py
    __all__=["modualA","modualB"]
    from modualA import class1,class2
    from modualB import fun1,class3
    
    使用:from pkgA import *
    以上语句即执行了pkgA下的__init__.py,导入两个模块,和这两模块下的函数和类
    View Code
    • sys 
    # The content of file F:	est	est.py as follows:
    import sys
    print sys.argv
    print sys.path[0]
    
    # Run it in different path
    C: > python F:	est	est.py
    ['F:	est	est.py']
    ['F:	est	est.py']
    
    F: > python test	est.py
    ['test	est.py']
    ['F:	est	est.py']
    
    # So, argv[0] is the same as the first arg of command totally, on matter relative or absolute path
    # but path[0] will fill the relative path to absolute one
    View Code

        *  Get absolute path of script: os.path.split(os.path.realpath(__file__))[0]

  • 相关阅读:
    WebBrowser无法显示招商银行password输入控件的问题
    对流式计算模型的理解
    Dev BarManager使用方法
    创业的需求分析——创业杂记【1】
    使用Apktools反编译apk应用
    【JUnit4.10源码分析】3.4 Description与測试树
    基于KWIC 的keyword匹配算法(管道+过滤器模式下实现)
    纯CSS滑动效果
    PhotoSwipe简介
    包加载失败的解决办法
  • 原文地址:https://www.cnblogs.com/irun/p/4883028.html
Copyright © 2020-2023  润新知