python标准库之sys模块

python标准库之sys模块

    • 常见函数列表
    • sys.argv测试
    • django中的案例

引用:python之sys模块详解

常见函数列表

sys.argv: 实现从程序外部向程序传递参数。
sys.exit([arg]): 程序中间的退出,arg=0为正常退出。
sys.getdefaultencoding(): 获取系统当前编码,一般默认为ascii。
sys.setdefaultencoding(): 设置系统默认编码,执行dir(sys)时不会看到这个方法,在解释器中执行不通过,可以先执行reload(sys),在执行 setdefaultencoding(‘utf8’),此时将系统默认编码设置为utf8。(见设置系统默认编码 )
sys.getfilesystemencoding(): 获取文件系统使用编码方式,Windows下返回’mbcs’,mac下返回’utf-8’.
sys.path: 获取指定模块搜索路径的字符串集合,可以将写好的模块放在得到的某个路径下,就可以在程序中import时正确找到。
sys.platform: 获取当前系统平台。
sys.stdin,sys.stdout,sys.stderr: stdin , stdout , 以及stderr 变量包含与标准I/O 流对应的流对象. 如果需要更好地控制输出,而print 不能满足你的要求, 它们就是你所需要的. 你也可以替换它们, 这时候你就可以重定向输出和输入到其它设备( device ), 或者以非标准的方式处理它们
sys.modules: sys.modules是一个全局字典,该字典是python启动后就加载在内存中。每当程序员导入新的模块,sys.modules将自动记录该模块。当第二次再导入该模块时,python会直接到字典中查找,从而加快了程序运行的速度。它拥有字典所拥有的一切方法。

sys.argv测试

文件test.py

import sys

print([x for x in sys.argv])

执行文件

E:\frame\python\func_modules\func_sys>python test.py p 8080
['test.py', 'p', '8080']

sys.argv第一个参数是文件名,后面是额外的输入(注意空格)

django中的案例

django的启动文件manage.py中
python标准库之sys模块_第1张图片
启动项目django项目必须带参数runserver,否则就不是启动项目

python manage.py runserver

python标准库之sys模块_第2张图片
subcommand = self.argv[1]
self.argv = argv or sys.argv[:]
argv[1]就是列表第二个参数runserver

你可能感兴趣的:(python)