Python信息

+ sys.version:版本信息

+ sys.version_info:版本信息(程序友好)

+ sys.platform:平台版本

sys.version: 这个属性储存了关于python的版本信息 sys.version_info: 这个属性储存了python的版本信息,而且方便程序读取 sys.platform: 这个属性储存了python对应的平台版本>
```python import sys print(sys.version) print(sys.version_info) print(sys.platform)

输出

=============================

3.6.6 (v3.6.6:4cf1f54eb7, Jun 27 2018, 03:37:03) [MSC v.1900 64 bit (AMD64)] sys.version_info(major=3, minor=6, micro=6, releaselevel=’final’, serial=0) win32

  1. <a name="7iqJt"></a>
  2. ### sys.argv:从控制台接受参数
  3. >
  4. > 当.py文件通过控制台打开时,是允许接受一个列表作为参数
  5. > (**注意:**参数的数据类型为字符串)
  6. >
  7. > 这几个参数会保存的sys模块的 sys.argv属性中
  8. > (**注意:**sys.argv 第一个元素保存的是.py文件路径)
  9. >
  10. > 利用这个特点,我们可以用python写自定义的命令提示符
  11. > ![QQ截图20210217014952.png](https://cdn.nlark.com/yuque/0/2021/png/2485877/1613497812378-1c4e122d-7427-4f0c-9d45-fb39c43ca639.png#align=left&display=inline&height=308&margin=%5Bobject%20Object%5D&name=QQ%E6%88%AA%E5%9B%BE20210217014952.png&originHeight=308&originWidth=615&size=10712&status=done&style=stroke&width=615)
  12. ```python
  13. import sys
  14. s = sys.argv[:]
  15. print("控制台接受到的参数:", s)

输出: QQ截图20210217015606.png

+ 制作成CMD命令

(真正的CMD命令是不需要文件路径,也不需要文件后缀)

省去路径: 将【.py文件】的所在文件夹路径,写在环境变量的Path里, 这样在CMD窗口就不需要写文件路径了

QQ截图20210219201602.png QQ截图20210219201748.png

省去后缀:

将【.py】字符串追加到PATHEXT里,这样就不需要写文件后缀了 QQ截图20210219203136.png QQ截图20210219203306.png

sys.stdout.write( ): 输出到控制台

这个方法其实就类似于 print( ) 函数 但它默认没有输出换行符

  1. import sys
  2. sys.stdout.write("Hello world\n")
  3. #输出
  4. #=====================================
  5. Hello world

sys.exit( ):退出程序

相当于c语言 int main( ) 函数最后面的 return 0 sys.exit( )用于退出程序,返回状态码(告诉系统程序是否正常执行)

通常: 0 表示运行正常 非0 表示不正常运行(具体的错误有具体的错误代码)

  1. import sys
  2. print("Hello world")
  3. sys.exit(0)
  4. print("此处不会被执行")
  5. #输出
  6. #=====================================
  7. Hello world

sys.exit被执行时,是会抛出SystemExit异常,只是这个异常通常是由系统去捕获,而非用户 因此,我们不会看到抛出的异常, 但我们可以尝试使用try去捕获,不过如果使用try去捕获异常,就失去了sys.exit的意义了

  1. import sys
  2. print("Hello world")
  3. try:
  4. sys.exit(16)
  5. except SystemExit as e:
  6. print("捕获到SystemExit异常:", e)
  7. print("此处不会被执行")
  8. #输出
  9. #=====================================
  10. Hello world
  11. 捕获到SystemExit异常: 16
  12. 此处不会被执行

扩展: 如果有用到子进程,即调用os.fork( ),后则应该使用os._exit( )退出 (由于我们不太可能用到多进程,所以就不深入了解了) (windows中不支持os.fork方法)