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:\Users\Administrator\PycharmProject\MyProject\myfunc>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:\Users\Administrator\PycharmProject\MyProject\myfunc
- C:\Users\Administrator\PycharmProject\MyProject
- C:\Users\Administrator\AppData\Local\Programs\Python\Python35\python35.zip
- C:\Users\Administrator\AppData\Local\Programs\Python\Python35\DLLs
- C:\Users\Administrator\AppData\Local\Programs\Python\Python35\lib
- C:\Users\Administrator\AppData\Local\Programs\Python\Python35
- C:\Users\Administrator\AppData\Local\Programs\Python\Python35\lib\site-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("\r")
- sys.stdout.write("%s%% | %s" % (int(i / 50 * 100), i * "|"))
- sys.stdout.flush()
- time.sleep(0.05)
- 运行结果: 动态的显示以下内容
- 100% | ||||||||||||||||||||||||||||||||||||||||||||||||||
Python sys模块
spa 输出 lib 所有 文件 dev div span 一个
原文:http://www.cnblogs.com/ming5218/p/7920509.html
来源: http://www.bubuko.com/infodetail-2411324.html