zoukankan      html  css  js  c++  java
  • Python中sys模块的使用

    目录

    sys模块

    sys.argv()

    sys.exit(0)

    sys.path

    sys.modules


    sys模块负责程序与python解释器的交互,提供了一系列的函数和变量,用于操控python的运行时环境。

    sys模块

    sys.argv()

    该方法实现从程序外部向程序传递参数 ,sys.argv 变量是一个包含了命令行参数的字符串列表,,利用命令行向程序传递参数。 其中,脚本的名称总是 sys.argv 列表的第一个参数,也就是sys.argv[0]。

    import sys
    print(sys.argv)
    print(sys.argv[0])
    print(sys.argv[1])
    print(type(sys.argv))
    
    def Test(num):
        num=int(num)
        print(num**2)
    if __name__=='__main__':
        Test(sys.argv[1])
    
    我们执行该文件:  python  test.py  10
    ['test.py','10']
    test.py
    10
    <class 'list'>
    100
    可以看到,sys.argv[0]永远是模块的名字,从sys.argv[1]开始就是我们输入的参数

    sys.exit(0)

    功能:执行到主程序末尾,解释器自动退出,但是如果需要中途退出程序,可以调用 sys.exit() 函数,带有一个可选的整数参数返回给调用它的程序,表示你可以在主程序中捕获对 sys.exit 的调用。(0是正常退出,其他为异常)

    sys.path

    功能:获取指定模块搜索路径的字符串集合,可以将写好的模块放在得到的某个路径下,就可以在程序中import时正确找到。也就是环境变量。返回一个列表

    import sys
    print(sys.path)
    ####################################################################
    ['', 'C:\Users\17250\.spyder-py3\work', 'G:\Python3', 'G:\Anaconda3-5.3.0\python37.zip', 'G:\Anaconda3-5.3.0\DLLs', 'G:\Anaconda3-5.3.0\lib', 'G:\Anaconda3-5.3.0', 'G:\Anaconda3-5.3.0\lib\site-packages', 'G:\Anaconda3-5.3.0\lib\site-packages\win32', 'G:\Anaconda3-5.3.0\lib\site-packages\win32\lib', 'G:\Anaconda3-5.3.0\lib\site-packages\Pythonwin', 'G:\Anaconda3-5.3.0\lib\site-packages\IPython\extensions', 'C:\Users\17250\.ipython']

    sys.modules

    功能:sys.modules是一个全局字典,该字典是python启动后就加载在内存中。每当程序员导入新的模块,sys.modules将自动记录该模块。当第二次再导入该模块时,python会直接到字典中查找,从而加快了程序运行的速度。它拥有字典所拥有的一切方法

    sys.stdin、sys.stdout、sys.stderr

    stdin、stdout 和 stderr 在Python中都是文件属性对象, 他们在python启动时自动与shell环境中的标准输入, 输出, 出错相关. 而python程序在shell中的I/O重定向是由shell来提供的,与python本身没有关系。python程序内部将stdin, stdout, stderr读写操作重定向到一个内部对象.

    import sys
    sys.stdout.write("hello,word!")
    #################
    hello,word!
  • 相关阅读:
    ASP.NET常见命名空间及其功能描述
    C#中的里氏替换原则
    Java中的split函数的用法
    shader之旅-7-平面阴影(planar shadow)
    OpenGL三角形的双面不同颜色的绘制
    MATLAB squeeze 函数
    matlab 常用函数汇总
    第一个OpenGL程序
    Github 留言系统
    Paging 简单自由的分页生成器
  • 原文地址:https://www.cnblogs.com/csnd/p/11807846.html
Copyright © 2011-2022 走看看