热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

sys模块的应用

1.常见的sys模块的应用:1.在解释器启动后,argv列表包含了传递给脚本的所有参数,列表的第一个元素为脚本自身的名称argv(命令行参数个数)#!us

1.常见的sys模块的应用:

        1.在解释器启动后, argv 列表包含了传递给脚本的所有参数, 列表的第一个元素为脚本自身的名称 argv(命令行参数个数)

 

#!/usr/bin/env python
import sys

print(sys.argv)
print(sys.argv[0])
print(sys.argv[1])
print(sys.argv[2])

 

执行脚本:

  python3 sys_0.py ni hao a

结果:

  ['sys_0.py', 'ni', 'hao', 'a']
  sys_0.py
  ni
  hao

结论:

       sys.argv表示程序打印以列表的形式打印脚本名及参数

  sys.argv[0] 表示程序自身
  sys.argv[1] 表示程序的第一个参数
  sys.argv[2] 表示程序的第二个参数

2. sys.exit(n)  退出python执行程序,下面的代码将不会执行,如同shell中的exit一样

#!/usr/bin/env python
import sys

a = 4
if a <5:
    print(1)
    sys.exit(3)
    print(2)

 

执行脚本:

  python3 sys_0.py

结果:

 1

3. sys.path 包含输入模块的目录名列表

 

#!/usr/bin/env python
import sys


for i in sys.argv:
    print(i)
print("\n\nThe pathname", sys.path, '\n')

 

 

执行脚本:

  python3 sys_0.py  text1 test2

结果:

  sys_0.py
  text1
  test2
  The pathname ['/Python', '/usr/local/python3/lib/python36.zip', '/usr/local/python3/lib/python3.6/site-packages/psutil-2.1.3-py3.6-linux-x86_64.egg']

 

 3.sys.stdin/sys.stdout/sys.stderr 

  stdin,stdout,stderr在Python中都是文件属性对象, 他们在python启动时自动与shell环境中的标准输入, 输出, 出错相关. 而python程序在shell中的I/O重定向是有shell来提供的,与python本身没有关系.python程序内部将stdin, stdout, stderr读写操作重定向到一个内部对象

#!/usr/bin/env python
import sys

#标准输入
print('hi, %s' % input('Please enter your name:'))


#等价于上面的
print("Please enter you name")
name = sys.stdin.readline()[:-1]
print("Hi, %s" % name)

#标准输出
print("Holle World\n")

#等价于上面的
sys.stdout.write("stdout resule is good\n")

执行:

[root@localhost Python]# python3 sys_0.py  
Please enter your name:text1
hi, text1
Please enter you name
text2
Hi, text2
Holle World

stdout resule is good

 


推荐阅读
author-avatar
loveyao123456
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有