7 / 15 / 2008 Python在多数情况下是跨平台的,对于与平台相关的部分则进行
sys.platform检测。例如底层的控制台交互可能随平台不同而不同,则通过检测sys.platform来选择合适的工具
sys.path在解释器启动时根据PYTHONPATH和系统缺省的目录进行初始化,可以在运行时对其进行改动。有时PYTHONPAHT是不够的,一些程序,例如web服务器脚本,可能在启动时配置sys.path来包含要访问的目录
sys.version 字符串
sys.platform 字符串
sys.path 字符串list
sys.modules dictionary
sys.builtin_module_names 字符串list
sys.argv 字符串list
sys.stdin I/O stream
sys.stdout
sys.stderr
sys.getrefcount 函数
sys.exit 函数
|
7 / 16 / 2008 sys.exc_info函数返回最近一次异常的
类型type、值value和traceback对象,这些信息可以用于格式化输出自己的错误信息并显示在窗口或者web页面上。但是要注意,
没有被捕获的异常会终止程序并显示错误信息。类型type和值value可以作为string打印,而traceback对象可以由
traceback模块处理
exc_info = sys.exc_info( )
print exc_info[0]
print exc_info[1]
traceback.print_tb(exc_info[2]) 最近一次异常的类型type、值value和traceback对象也可以通过其他方式得到,例如
sys.exc_type、sys.exc_value。但是它们表示的是
单个全局异常,并不是特定于线程的,若是在多线程环境中处理异常,
exc_info提供了特定于线程的异常信息。建议使用exc_info,旧的方式是deprecated的
基于string的异常可能被遗弃,最好使用基于class的异常,这样异常处理函数可以根据类别处理
7 / 20 / 2008 使用模块os和os.path有助于程序的可移植性
os.getpid()
os.getcwd()
os.chdir(
r'path')
有助于可移植性的常量
os.pathsep 路径列表分隔符
os.sep 系统上的路径分割符,例如os.sep.split(dirpath)可以根据系统平台分割路径组件
os.pardir 父目录
os.curdir 当前目录
os.linesep 行分割符
os.path.isdir(r'path')
os.path.isfile(r'path')
os.path.exists(r'path')
os.path.getsize(r'path')
os.path.basename(r'path')
os.path.dirname(r'path')
os.path.split
os.path.join
os.path.splittext(r'path') 删去文件扩展名
os.path.normpath(mixedpath)
os.path.abspath(r'path')
os.environ sys.argv os.fork
os.pipe
os.execlp
os.spawnv
os.open os模块提供的文件操作属于底层操作,一般使用内建的函数和stdio文件对象操作文件
os.mkdir
os.mkfifo
os.stat
os.remove
os.path.walk os.walk os.system
os.popen 返回值是一个文件对象
虽然这两个函数是可移植的,但是它们执行的命令不一定是可移植的,要注意这一点这两个函数需要创建新的进程来执行命令,而import操作则是在当前进程环境内运行代码
内置函数
execfile运行程序代码时更像是将程序代码粘贴到调用位置(除非显示的传递了global或者局部词典)。与import操作不同的是,它无条件的运行文件代码,不生成module对象,除非显示传递词典,文件代码中的赋值操作可能改变execfile所处文件中的变量
os.startfile
阅读(2097) | 评论(0) | 转发(0) |