模块之sys模块详解

sys模块的常见函数列表

sys.path()  # 获取指定模块搜索路径的字符串集合

sys.argv()  # 实现从程序外部向程序传递参数。

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

sys.getrecursionlimit()  # 获取最大递归层数

sys.setrecursionlimit(1200)  # 设置最大递归层数

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

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

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

sys.platform  # 获取当前系统平台。

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

应用: 打印进度条

# 打印进度条
import time

recv_size = 0
total_size = 333333

while recv_size < total_size:
    time.sleep(0.2)

    recv_size += 1024

    # 打印进度条
    percent = recv_size / total_size
    res = int(50 * percent) * '#'
    print('
[%-50s] %d%%' % (res, int(100 * percent)), end=' ')

  

原文地址:https://www.cnblogs.com/featherwit/p/13274354.html