zoukankan      html  css  js  c++  java
  • Python sys模块

    Python sys模块

    sys 模块提供了许多函数和变量来处理 Python 运行时环境的不同部分.

    处理命令行参数

    sys.argv       #现从程序外部向程序传递参数[*],0代表程序本身

    #!/usr/bin/env python
    # -*- coding:utf-8 -*-
    # @Time    : 2017/11/29 0029 11:31
    # @Author  : ming
    import sys
    print(sys.argv)  
    if len(sys.argv) > 1:
        print(sys.argv[0])
        print(sys.argv[1])
        print(sys.argv[2])
    else:
        print("没有传递参数")
    C:UsersAdministratorPycharmProjectMyProjectmyfunc>python ceshi.py arg1 arg2
    ['ceshi.py', 'arg1', 'arg2']  # 说明sys.argv 是一个包含参数的列表
    ceshi.py #sys.argv[0] 代表脚本自身
    arg1 # 第一个参数
    arg2 # 第一个参数

    sys.path       #获取指定模块搜索路径的字符串集合,可以将写好的模块放在得到的某个路径下,就可以在程序中import时正确找到

    #!/usr/bin/env python
    # -*- coding:utf-8 -*-
    # @Time    : 2017/11/29 0029 11:31
    # @Author  : ming
    import sys
    print(type(sys.path))
    for i in sys.path:
        print(i)
    运行结果:
    <class 'list'>  # 说面sys.path 是一个列表 该列表中包含所有py文件可被搜索的路径或文件夹,只有在该目录中的模块或py文件才可以被imporp导入
    C:UsersAdministratorPycharmProjectMyProjectmyfunc
    C:UsersAdministratorPycharmProjectMyProject
    C:UsersAdministratorAppDataLocalProgramsPythonPython35python35.zip
    C:UsersAdministratorAppDataLocalProgramsPythonPython35DLLs
    C:UsersAdministratorAppDataLocalProgramsPythonPython35lib
    C:UsersAdministratorAppDataLocalProgramsPythonPython35
    C:UsersAdministratorAppDataLocalProgramsPythonPython35libsite-packages

    sys.version   #打印python版本

    sys.platform  # 查看系统版本

    sys.getdefaultencoding()  # 获取系统当前编码

    sys.getfilesystemencoding() # 获取文件系统使用编码方式,Windows下返回'mbcs',mac下返回'utf-8'

    #!/usr/bin/env python
    # -*- coding:utf-8 -*-
    import sys
    
    print(sys.version)  # 查看平台版本
    print(sys.platform)  # 查看系统版本
    print(sys.getdefaultencoding())  # 获取系统当前编码
    print(sys.getfilesystemencoding())  # 获取文件系统使用编码方式,Windows下返回'mbcs',mac下返回'utf-8'
    运行结果:
    3.5.1 (v3.5.1:37a07cee5969, Dec  6 2015, 01:54:25) [MSC v.1900 64 bit (AMD64)]
    win32
    utf-8
    mbcs

    sys.stdin   #标准IO流,如果需要更好地控制输出,而print 不能满足你的要求, 它们就是你所需要的. 你也可以替换它们, 这时候你就可以重定向输出和输入到其它设备( device ), 或者以非标准的方式处理它们
    sys.stdout
    sys.stderr

    制作进度条:  由于标准输入 不会自动回车
    #!/usr/bin/env python
    # -*- coding:utf-8 -*-
    import sys, time
    
    for i in range(51):
        sys.stdout.write("
    ")
        sys.stdout.write("%s%% | %s" % (int(i / 50 * 100), i * "|"))
        sys.stdout.flush()
        time.sleep(0.05)
    运行结果: 动态的显示以下内容
    100% | ||||||||||||||||||||||||||||||||||||||||||||||||||
  • 相关阅读:
    GitHub 源码,Framework 框架
    转int啥啥啥的
    查看apk签名 和 keystore 的信息
    一次apk打开时报内存溢出错误,故写下内存溢出的各种原因和解决方法
    客户端传值里面包含URL特殊字符的应对方法
    Linux全硬盘搜索文件名是xxxxx的命令
    pythonmysql运行报错解决过程中遇到的其中一个报错解决文章来源
    linux查看硬盘占用情况
    Linux使用nginx反向代理。可实现域名指向特定端口
    Linux下使用yum安装软件命令
  • 原文地址:https://www.cnblogs.com/ming5218/p/7920509.html
Copyright © 2011-2022 走看看