• 12.python内置模块之sys模块介绍


    python的sys模块是与python解释器交互的一个接口,提供对解释器使用或维护的一些变量的访问,即与解释器强烈交互的函数。

    sys模块的常用函数:

    1.sys.argv:命令行参数列表。第一个元素是脚本的名称,后面是终端传入的值;可以在执行整个程序前通过终端传入参数,然后执行程序,实现从程序外部向程序内部来传递参数。

    2.sys.path:返回模块的搜索路径的列表。可以将写好的模块放在得到的某个路径下,就可以在程序中import时正确找到。也可以使用        sys.path.append(path)添加模块搜索路径。

    3.sys.exit(n):退出解释器,n=0为正常退出,其他为异常退出。一般情况下执行到主程序末尾,解释器自动退出。但是如果需要中途退出  程序,可以调用sys.exit函数。【注意】exit()运用在交互式shell中,而sys.exit主要用于程序中,二者功能类似。

    4.sys.modules:python启动时就被导入的所有模块,以及import 导入的模块存放的一个字典 key为模块的名称,value为模块对应的内 存地址。sys.modules是一个全局字典,该字典是python启动后就加载在内存中。每当导入新的模块,sys.modules将自动记录该模块。当第二次再导入该模块时,python会直接到字典中查找,从而加快了程序运行的速度。它拥有字典所拥有的一切方法。

    5.sys.version获取Python解释程序的版本信息。

    6.sys.platform:返回操作系统平台名称。如:win32、Linux等。

    7.sys.stdin/sys.stdout:标准输入/标准输出。如果需要更好地控制输出,而print不能满足要求时,可以使用它们。

    8.sys.getdefaultencoding() :获取系统当前编码,一般默认为ascii。

    9.sys.setdefaultencoding() :设置系统默认编码,执行dir(sys)时不会看到这个方法,在解释器中执行不通过,可以先执行reload(sys),在执行 setdefaultencoding('utf8'),此时将系统默认编码设置为utf8。

    10.sys.getfilesystemencoding() :获取文件系统使用编码方式,例如:mac下返回'utf-8'。

    函数演示:

     1.假设sys.py脚本文件内容如下:

    1 #!/usr/bin/env python
    2 
    3 import sys
    4 print(sys.argv[0])
    5 print(sys.argv[1])

    命令行执行:python sys.py first ,则输出:

    1 sys.py
    2 first

     2.假设exit.py脚本文件内容如下:

     1 #!/usr/bin/env python
     2 
     3 import sys
     4 
     5 def exitfunc(value):
     6     print(value)
     7     sys.exit(0)
     8 
     9 print("hello1")
    10 
    11 try:
    12     sys.exit(1)
    13 except SystemExit,value:
    14     exitfunc(value)
    15 
    16 print("hello2")

    命令行执行:python exit.py,则输出:

    1 hello1
    2 1

     3.sys.path演示:

    1 import sys
    2 
    3 sys.path
    4 
    5 # 输出结果:
    6 # ['', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-x86_64-linux-gnu', '/usr/lib/python2.7/lib-tk',
    7 # '/usr/lib/python2.7/lib-old', '/usr/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7/dist-packages', 
    8 # '/usr/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages/PILcompat',
    9 # '/usr/lib/python2.7/dist-packages/gtk-2.0', '/usr/lib/python2.7/dist-packages/ubuntu-sso-client']

     4.sys.modules演示:

    1 #!/usr/bin/env python
    2 
    3 import sys
    4 
    5 print(sys.modules.keys())
    6 print(sys.modules.values())
    7
    8 print(sys.modules["os"]) # 输出 os 模块的路径

     5.sys.stdout标准输出演示:

    1 import time
    2 
    3 for i in range(50):
    4     sys.stdout.write("*")    # 打印*号,输出 *1 ;类似于print ,但print输出则为 *,这是区别
    5     time.sleep(0.1)
    6     sys.stdout.flush()   # 刷新,显示到屏幕上
    7 
    

     

  • 相关阅读:
    期末考试冬眠
    题解 P1457 【城堡 The Castle】
    题解 P1052 【过河】
    题解 P5663 【加工零件【民间数据】】
    与 macOS 10.12 兼容的OpenCV版本
    summarise() regrouping output 警告
    binary_crossentropy和BinaryCrossentropy的区别
    损失函数BinaryCrossentropy例子说明
    理解功能强大的sed替换命令
    理解GAN对抗神经网络的损失函数和训练过程
  • 原文地址:https://www.cnblogs.com/bonheur/p/12337407.html
Copyright © 2020-2023  润新知