Chinaunix首页 | 论坛 | 博客
  • 博客访问: 141819
  • 博文数量: 24
  • 博客积分: 2035
  • 博客等级: 大尉
  • 技术积分: 370
  • 用 户 组: 普通用户
  • 注册时间: 2006-05-15 07:34
文章分类

全部博文(24)

文章存档

2008年(24)

我的朋友

分类: Python/Ruby

2008-07-15 17:06:22

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













阅读(2060) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~