Sys、Os、Re、Child、glob、tracebake部分詳解

sys.argv 命令行参数List,第一个元素是程序本身路径

sys.modules.keys() 返回所有已经导入的模块列表

sys.exc_info() 获取当前正在处理的异常类,exc_type、exc_value、exc_traceback当前处理的异常详细信息

sys.exit(n) 退出程序,正常退出时exit(0) sys.hexversion 获取Python解释程序的版本值,16进制格式如: 0x020403F0 sys.version 获取Python解释程序的版本信息

sys.maxint 最大的Int值

sys.maxunicode 最大的Unicode值

sys.modules 返回系统导入的模块字段,key是模块名,value是模块 sys.path 返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值

sys.platform 返回操作系统平台名称

sys.stdout 标准输出

sys.stdin 标准输入

sys.stderr 错误输出

sys.exc_clear() 用来清除当前线程所出现的当前的或最近的错误信息

sys.exec_prefix 返回平台独立的python文件安装的位置

sys.byteorder 本地字节规则的指示器,big-endian平台的值是’big’,little-endian平台的值是’little’

sys.copyright 记录python版权相关的东西

sys.api_version 解释器的C的API版本

sys.version_info 例如(2, 4, 3, ‘final’, 0) 'final’表示最终,也有’candidate’表示候选,表示版本级别,是否有后继的发行

sys.displayhook(value) 如果value非空,这个函数会把他输出到sys.stdout,并且将他保存进builtin…指在python的交互式解释器里,’’ 代表上次你输入得到的结果,hook是钩子的意思,将上次的结果钩过来

sys.getdefaultencoding() 返回当前你所用的默认的字符编码格式

sys.getfilesystemencoding() 返回将Unicode文件名转换成系统文件名的编码的名字

sys.setdefaultencoding(name)用来设置当前默认的字符编码,如果name和任何一个可用的编码都不匹配,抛出 LookupError,这个函数只会被site模块的sitecustomize使用,一旦别site模块使用了,他会从sys模块移除

sys.builtin_module_names Python解释器导入的模块列表

sys.executable Python解释程序路径

sys.getwindowsversion() 获取Windows的版本

sys.stdin.readline() 从标准输入读一行

sys.stdout.write(“a”) 屏幕输出a


from collections import OrderedDict OrderedDict() # 初始化一个有序字典


修饰符 描述

re.I 使匹配对大小写不敏感

re.L 做本地化识别(locale-aware)匹配

re.M 多行匹配,影响 ^ 和 $ re.S 使 . 匹配包括换行在内的所有字符

re.U 根据Unicode字符集解析字符。

这个标志影响 \w, \W, \b, \B. re.X 该标志通过给予你更灵活的格式以便你将正则表达式写得更易于理解。


os.path.abspath(path) #返回绝对路径 os.path.basename(path) #返回文件名

os.path.commonprefix(list) #返回list(多个路径)中,所有path共有的最长的路径。

os.path.dirname(path) #返回文件路径

os.path.exists(path) #路径存在则返回True,路径损坏返回False

os.path.lexists #路径存在则返回True,路径损坏也返回True

os.path.expanduser(path) #把path中包含的""和"user"转换成用户目录

os.path.expandvars(path) #根据环境变量的值替换path中包含的”name”和”{name}”

os.path.getatime(path) #返回最后一次进入此path的时间。

os.path.getmtime(path) #返回在此path下最后一次修改的时间。

os.path.getctime(path) #返回path的大小

os.path.getsize(path) #返回文件大小,如果文件不存在就返回错误

os.path.isabs(path) #判断是否为绝对路径

os.path.isfile(path) #判断路径是否为文件

os.path.isdir(path) #判断路径是否为目录

os.path.islink(path) #判断路径是否为链接

os.path.ismount(path) #判断路径是否为挂载点

os.path.join(path1[, path2[, …]]) #把目录和文件名合成一个路径

os.path.normcase(path) #转换path的大小写和斜杠

os.path.normpath(path) #规范path字符串形式

os.path.realpath(path) #返回path的真实路径

os.path.relpath(path[, start]) #从start开始计算相对路径

os.path.samefile(path1, path2) #判断目录或文件是否相同

os.path.sameopenfile(fp1, fp2) #判断fp1和fp2是否指向同一文件

os.path.samestat(stat1, stat2) #判断stat tuple stat1和stat2是否指向同一个文件

os.path.split(path) #把路径分割成dirname和basename,返回一个元组

os.path.splitdrive(path) #一般用在windows下,返回驱动器名和路径组成的元组

os.path.splitext(path) #分割路径,返回路径名和文件扩展名的元组

os.path.splitunc(path) #把路径分割为加载点与文件

os.path.walk(path, visit, arg) #遍历path,进入每个目录都调用visit函数,visit函数必须有 3个参数(arg, dirname, names),dirname表示当前目录的目录名,names代表当前目录下的所有 文件名,args则为walk的第三个参数

os.path.supports_unicode_filenames #设置是否支持unicode路径名


os.stat 结构:

  • st_mode: inode 保护模式
  • st_ino: inode 节点号。
  • st_dev: inode 驻留的设备。
  • st_nlink: inode 的链接数。
  • st_uid: 所有者的用户ID。
  • st_gid: 所有者的组ID。
  • st_size: 普通文件以字节为单位的大小;包含等待某些特殊文件的数据。
  • st_atime: 上次访问的时间。
  • st_mtime: 最后一次修改的时间。
  • st_ctime: 由操作系统报告的"ctime"。在某些系统上(如Unix)是最新的元数据更改的时间,在其它系统上(如Windows)是创建时间(详细信息参见平台的文档)

child.poll() # 检查子进程状态

child.kill() # 终止子进程

child.send_signal() # 向子进程发送信号

child.terminate() # 终止子进程 子进程的PID存储在

child.pid child.stdin 输入

child.stdout 输出

child.stderr 错误


string.replace(old, new)


获取mac地址的两种方法

1)通用方法,借助uuid模块

def get_mac_address():
  import uuid
      node = uuid.getnode()
      mac = uuid.UUID(int = node).hex[-12:]
  return mac

(2)按照操作系统平台来

def get_mac_address():
    '''
    @summary: return the MAC address of the computer
    '''
    import sys
    import os
    mac = None
    if sys.platform == "win32":
        for line in os.popen("ipconfig /all"):
            print line
            if line.lstrip().startswith("Physical Address"):
                mac = line.split(":")[1].strip().replace("-", ":")
                break
    else:
        for line in os.popen("/sbin/ifconfig"):
            if 'Ether' in line:
                mac = line.split()[4]
                break
    return mac

subprocess.Popen subprocess模块定义了一个类:

Popen class subprocess.Popen( args, bufsize=0, executable=None, stdin=None, stdout=None, stderr=None, preexec_fn=None, close_fds=False, shell=False, cwd=None, env=None, universal_newlines=False, startupinfo=None, creationflags=0)


sys.getdefaultencoding

返回当前系统所使用的默认字符编码

sys.getfilesystemencoding

返回用于转换Unicode文件名至系统文件名所使用的编码

locale.getdefaultlocale

获取默认的区域设置并返回元祖(语言, 编码)

(locale.getpreferredencoding

返回用户设定的文本数据编码


文件读写时用open还是codecs.open

其实都一样,

input文件(gbk, utf-8…) ----decode-----> unicode -------encode------> output文件(gbk, utf-8…)

代替这繁琐的操作就是codecs.open,


glob.glob   返回所有匹配的文件路径列表。它只有一个参数pathname,定义了文件路径匹配规则,这里可以是绝对路径,也可以是相对路径。下面是使用glob.glob的例子:

import glob  

获取指定目录下的所有图片

print glob.glob(r"E:\Picture**.jpg")  

获取上级目录的所有.py文件

print glob.glob(r'../*.py') #相对路径  

traceback使用 异常的获取与处理

1、print_exc():是对异常栈输出
2、format_exc():是把异常栈以字符串的形式返回,print(traceback.format_exc()) 就相当于traceback.print_exc()
3、print_exception():traceback.print_exc()实现方式就是traceback.print_exception(sys.exc_info()),可以点sys.exc_info()进去看看实现

你可能感兴趣的:(python,知识点,字符串,python)