• python模块sys


    #!/bin/env python
    #-*- encoding=utf8 -*-
    import sys
    if __name__=="__main__":
    # 在解释器启动后, argv 列表包含了传递给脚本的所有参数, 列表的第一个元素为脚本自身的名称.
        print sys.argv  

    执行命令: D:python_test>python test_path.py
    输出结果:['test_path.py']

    执行命令: D:python_test>python test_path.py 9090
    输出结果:['test_path.py', '9090']
    #!/bin/env python
    #-*- encoding=utf8 -*-
    
    # 使用sys模块操作模块搜索路径
    if __name__=="__main__":
    
        import sys
        # path 列表是一个由目录名构成的列表
        # Python 从中查找扩展模块( Python 源模块, 编译模块,或者二进制扩展).
        # path是一个普通的列表,可以在程序中对其进行操作
        print sys.path
    
        sys.path.insert(0,"samples")  # 将路径插入到下标0的位置
        sys.path.append("Root_path")  # 程序中会用到指定路径插入到搜索路径列表中
        print sys.path
    
        sys.path = []  # 删除path中的所有路径
        print sys.path

    sys.builtin_module_names:  #查找内建模块是否存在

    #!/bin/env python
    #-*- encoding=utf8 -*-
    
    import sys
    
    def dump(module):
        print module, "=>",
        if module in sys.builtin_module_names:  #查找内建模块是否存在
            print "<BUILTIN>"
        else:
            module = __import__(module)         #非内建模块输出模块路径
            print module.__file__
    
    if __name__=="__main__":
        dump("sys")
        dump("os")

    使用sys模块查找已导入的模块

    modules 字典包含所有加载的模块. import 语句在从磁盘导入内容之前会先检查这个字典.

    Python 在处理你的脚本之前就已经导入了很多模块.

    #!/bin/env python
    #-*- encoding=utf8 -*-
    
    import sys
    
    if __name__=="__main__":
    
        print sys.modules.keys()

    使用sys模块获得当前平台

    #!/bin/env python
    #-*- encoding=utf8 -*-
    
    import sys
    
    if __name__=="__main__":
    
        print sys.platform

    输出: win3

    使用sys模块退出程序

    import sys
    sys.exit(1)

    # 使用exit函数时,会已抛出异常的方式来结束程序

    注意 sys.exit 并不是立即退出. 而是引发一个 SystemExit 异常. 这意味着你可以在主程序中捕获对 sys.exit 的调用

    捕获sys.exit调用

    如果准备在退出前自己清理一些东西(比如删除临时文件), 你可以配置一个 "退出处理函数"(exit handler), 它将在程序退出的时候自动被调用

    #!/bin/env python
    #-*- encoding=utf8 -*-
    
    import sys
    
    if __name__=="__main__":
    
        print "hello"
        try:
            sys.exit(1)
        except SystemExit:   # 捕获退出的异常
            print "SystemExit...."
            pass                    # 捕获后不做任何操作
        print "there"

    输出:hello
    SystemExit....
    there

    另一种捕获sys.exit调用的方法

    #!/bin/env python
    #-*- encoding=utf8 -*-
    
    import sys
    
    # 退出前执行的函数
    def exitfunction():
        print "get exit function"
    
    if __name__=="__main__":
    
        sys.exitfunc = exitfunction  # 设置捕获时调用的函数
        print "hello"
    
        sys.exit(1)   # 退出自动调用exitfunc()后,程序依然退出
        print "end.." # 不会被print

    输出: hello
    get exit function
  • 相关阅读:
    flash处理安全策略
    flash builder 命令行创建 AsDoc
    如何永久关闭选项"Tools > Close Other Forms"
    Oracle EBS Reports 日期格式 与 客户端日期格式(控制面板 > 区域和语言选项)
    ora00600 Metalink ID: 752428.1
    如何修改台EBS的用户密码
    dbms_utility.format_error_backtrace() 返回错误行
    SQL*PLUS命令的使用大全
    APPPER50022 (system administrator > profile > system . HR:User Type)
    客户端连接数据时会报“ORA12537:TNS连接已关闭”
  • 原文地址:https://www.cnblogs.com/wind-wang/p/5821340.html
Copyright © 2020-2023  润新知