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
<a name="7iqJt"></a>
### sys.argv:从控制台接受参数
>
> 当.py文件通过控制台打开时,是允许接受一个列表作为参数
> (**注意:**参数的数据类型为字符串)
>
> 这几个参数会保存的sys模块的 sys.argv属性中
> (**注意:**sys.argv 第一个元素保存的是.py文件路径)
>
> 利用这个特点,我们可以用python写自定义的命令提示符
> ![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)
```python
import sys
s = sys.argv[:]
print("控制台接受到的参数:", s)
输出:
+ 制作成CMD命令
(真正的CMD命令是不需要文件路径,也不需要文件后缀)
省去路径: 将【.py文件】的所在文件夹路径,写在环境变量的Path里, 这样在CMD窗口就不需要写文件路径了
省去后缀:
将【.py】字符串追加到PATHEXT里,这样就不需要写文件后缀了
sys.stdout.write( ): 输出到控制台
这个方法其实就类似于 print( ) 函数 但它默认没有输出换行符
import sys
sys.stdout.write("Hello world\n")
#输出
#=====================================
Hello world
sys.exit( ):退出程序
相当于c语言 int main( ) 函数最后面的 return 0 sys.exit( )用于退出程序,返回状态码(告诉系统程序是否正常执行)
通常: 0 表示运行正常 非0 表示不正常运行(具体的错误有具体的错误代码)
import sys
print("Hello world")
sys.exit(0)
print("此处不会被执行")
#输出
#=====================================
Hello world
sys.exit被执行时,是会抛出SystemExit异常,只是这个异常通常是由系统去捕获,而非用户 因此,我们不会看到抛出的异常, 但我们可以尝试使用try去捕获,不过如果使用try去捕获异常,就失去了sys.exit的意义了
import sys
print("Hello world")
try:
sys.exit(16)
except SystemExit as e:
print("捕获到SystemExit异常:", e)
print("此处不会被执行")
#输出
#=====================================
Hello world
捕获到SystemExit异常: 16
此处不会被执行
扩展: 如果有用到子进程,即调用os.fork( ),后则应该使用os._exit( )退出 (由于我们不太可能用到多进程,所以就不深入了解了) (windows中不支持os.fork方法)