python中sys模块是做什么⽤的
python中的sys是提供了⼀系列有关python运⾏环境的变量和函数的模块,如sys.argv函数实现从程序外部向程序传递参数;sys.platform函数⽤于获取当前系统平台。
sys模块提供了⼀系列有关Python运⾏环境的变量和函数。
sys模块的常见函数列表
sys.argv: 实现从程序外部向程序传递参数。
sys.setdefaultencoding(): 设置系统默认编码,执⾏dir(sys)时不会看到这个⽅法,在解释器中执⾏不通过,可以先执⾏reload(sys),在执⾏ setdefaultencoding('utf8'),此时将系统默认编码设置为utf8。(见设置系统默认编码)
sys.path: 获取指定模块搜索路径的字符串集合,可以将写好的模块放在得到的某个路径下,就可以在程序中import时正确到。
sys.platform: 获取当前系统平台。
sys.stdin,sys.stdout,sys.stderr: stdin , stdout , 以及stderr 变量包含与标准I/O 流对应的流对象. 如果需要更好地控制输出,⽽print 不能满⾜你的要求, 它们就是你所需要的. 你也可以替换它们, 这时候你就可以重定向输出和输⼊到其它设备( device ), 或者以⾮标准的⽅式处理它们
内容扩展:
sys.argv
功能:在外部向程序内部传递参数
⽰例:sys.py
#!/usr/bin/env python
import sys
print sys.argv[0]
print sys.argv[1]
运⾏:
# python sys.py argv1
sys.py
argv1
⾃⼰动⼿尝试⼀下,领悟参数对应关系
功能:执⾏到主程序末尾,解释器⾃动退出,但是如果需要中途退出程序,可以调⽤it函数,带有⼀个可选的整数参数返回给调⽤它的程序,表⽰你可以在主程序中捕获对it的调⽤。(0是正
常退出,其他为异常)
⽰例:exit.py
#!/usr/bin/env python
import sys
def exitfunc(value):
print value
print "hello"
try:
except SystemExit,value:
exitfunc(value)
print "come?"
运⾏:
# python exit.py
hello
sys.path
功能:获取指定模块搜索路径的字符串集合,可以将写好的模块放在得到的某个路径下,就可以在程序中import时正确到。
⽰例:
>>> import sys
>>> sys.path
['', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-x86_64-linux-gnu', '/usr/lib/python2.7/lib-tk', '/usr/lib/python2.7/lib-old', '/usr/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages/PILcomp sys.path.append("⾃定义模块路径")
功能:dules是⼀个全局字典,该字典是python启动后就加载在内存中。每当程序员导⼊新的模块,dules将⾃动记录该模块。当第⼆次再导⼊该模块时,python会直接到字典中查,从⽽
加快了程序运⾏的速度。它拥有字典所拥有的⼀切⽅法。
⽰例:modules.py
#!/usr/bin/env python
import sys
python是做什么的通俗易懂的dules.keys()
dules.values()
dules["os"]
运⾏:
python modules.py
['copy_reg', 'sre_compile', '_sre', 'encodings', 'site', '__builtin__',......
sys.stdin\stdout\stderr
功能:stdin , stdout , 以及stderr 变量包含与标准I/O 流对应的流对象. 如果需要更好地控制输出,⽽print 不能满⾜你的要求, 它们就是你所需要的. 你也可以替换它们, 这时候你就可以重定向输出和输⼊到其
它设备( device ), 或者以⾮标准的⽅式处理它们
以上就是python中sys模块是做什么⽤的的详细内容,更多关于python中sys是什么模块的资料请关注其它相关⽂章!

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。