python3 sys.stdout 方法,sys.exit方法,sys.stdin 方法
来源:互联网 发布:数据字典设计考虑 编辑:程序博客网 时间:2024/04/20 09:17
sys 模块
@(python3)
官方说明文档,python3.6 版本
sys.argv
argv 是 argument variable 参数变量的简写形式,在命令行调用的时候,有系统传递给程序。
import sysprint('打印第 2 到第 5 个元素:', sys.argv[1:5])print('打印所有参数:', sys.argv[:])for i in sys.argv: print(i)
在终端执行:
python3.6 sucre.py we are all auguments# 结果如下打印第 2 到第 5 个元素: ['we', 'are', 'all', 'auguments']打印所有参数: ['sucre.py', 'we', 'are', 'all', 'auguments']sucre.pyweareallauguments
argv[0] 是被调用的脚本的文件全名或全路径,argv[1]和一会的就是传入的数据
也可以在 Run > Configuration > Script parameters 里面写入默认的参数。在有默认参数的情况下,就不需要去命令行执行脚本,直接在 pycharm 里面执行即可。
import sysif __name__ = '__main__': print('sys.argv[0] = {0}'.format(sys.argv[0]))print('sys.argv[0] = {1}'.format(sys.argv[1]))print('sys.argv[0] = {2}'.format(sys.argv[2]))
sys.stdout.write
这个方法,调用的就是 file 对象的 write 方法,区别是 file 对象的 write 方法吧字符写入到文件中,sys.stdout.write 方法把字符写入到标准输出中,也就是控制台。
stdout.write 默认不换行,print 默认换行
import sysprint('print 默认换行')sys.stdout.write('stdout.write 默认不换行')print('+++++++++')
输出结果
print 默认换行stdout.write 默认不换行+++++++++
stdout.write 配合 \n 换行符,可以实现换行的功能。
sys.stdout.write('str \n')
print 也可以实行不换行
print('str', end='')
和 print 的区别
print 几乎可以打印所有的对象,而 stdout.write 只能接受 str 类型。
import sysclass name(): def __str__(self): return 'Citizen_Wang'a = name()print(a)print(type(a))sys.stdout.write(a)
此脚本会报错
TypeError: write() argument must be str, not name
解决方法:
sys.stdout.wirte(str(a))
从控制台重定向到文件
stdout 和 print 可以结合使用的案例。
import sysfile = sys.stdout # 存储原始的输出对象sys.stdout = open('1.txt', 'w') # 重定向所有的写入内容到 1.txt 文件print('Citizen_Wang') # 写入到 1.txt 文件中print('Always fall in love with neighbours') # 继续写入到文件中sys.stdout.close() # 其实就是 open 文件之后的关闭sys.stdout = file # 将 print 命令的结果返回给控制台print('输出信息返回在控制台') # 该信息会在控制台也显示
在当前目录下创建了一个 1.txt 文件,内容如下:
Citizen_Wang
Always fall in love with neighbours
pycharm 控制台显示信息如下:
输出信息返回在控制台
同时重定向到控制台和文件
参考链接
sys.stdin
sys.stdin 和 input
import sysprint('Plase input your name: ')name = sys.stdin.readline()print('Hello ', name)
sys.exit([arg])
在主程序退出的情况
下使用,会引发一个异常:SystemExit,该异常并不派生自 Exception,所以用 Exception 无法捕获 SystemExit 异常,应该使用 SystemExit 捕获。
如果有捕获这个异常,直接退出程序,也可以捕获异常之后, 执行一些其他操作。
- 通过 Exception 无法捕获 SystemExit 异常
import systry: print('调用退出sys.exit方法之前,执行函数') sys.exit(0)except Exception as a: print('information of SystemExit is {0}'.format(a)) print('捕获到异常之后执行的代码')finally: print('最终退出')
输出结果:
调用退出sys.exit方法之前,执行函数捕获到异常之后执行的代码最终退出
- python3 的 except 语句默认可以捕获 SystemExit ,不加任何参数即可。
import systry: print('调用退出sys.exit方法之前,执行函数') sys.exit(56) print('异常发生之后,不会执行这段代码')except: print('捕获到异常之后执行的代码')finally: print('最终退出')
输出结果:
调用退出sys.exit方法之前,执行函数捕获到异常之后执行的代码最终退出
3.捕获到 SystemExit 异常,并执行输出信息。sys.exit(‘information’)
import systry: print('调用退出sys.exit方法之前,执行函数') sys.exit('Goodbye!!!')except SystemExit as a: print('information of SystemExit is {0}'.format(a)) print('捕获到异常之后执行的代码')finally: print('最终退出')
输出结果:
调用退出sys.exit方法之前,执行函数information of SystemExit is Goodbye!!!捕获到异常之后执行的代码最终退出
- 没有捕获到 System 异常,输出信息之后,直接退出。
import systry: print('调用退出sys.exit方法之前,执行函数') sys.exit('Goodbye!!!')except Exception as a: print('information of SystemExit is {0}'.format(a)) print('捕获到异常之后执行的代码')finally: print('最终退出')
输出结果:
调用退出sys.exit方法之前,执行函数最终退出Goodbye!!!
- python3 sys.stdout 方法,sys.exit方法,sys.stdin 方法
- sys.stdout、sys.stdin
- python sys.stdin,sys.stdout,sys.stderr
- python重定向sys.stdin、sys.stdout和sys.stderr
- python for line in sys.stdin解析文件调用方法
- sys.stdout
- Python的sys.stdout、sys.stdin重定向
- Python的sys.stdout、sys.stdin重定向
- Python的sys.stdout、sys.stdin重定向
- Python的sys.stdout、sys.stdin重定向
- PyScripter替换了sys.stdout的实现,使得它不一定能使用isatty方法 sys.stdoutdon't always have isatty()
- python sys模块常用方法
- Python3-sys
- Python sys中的sys.argvp[] 和 os.popen()方法
- sys
- /sys
- sys
- sys
- 副总裁陆复斌突然宣布离职,百度在内容分发领域成迷
- 小程序又双叒叕升级:可无限生成小程序码
- Google很强,但在AI硬件市场,它真不是Nvidia的对手
- ARM发布DynamIQ技术加持的新产品,主打机器学习
- 激情夏日“粽”情 海信“嗨”翻端午
- python3 sys.stdout 方法,sys.exit方法,sys.stdin 方法
- 算法系列(5) leetcode350
- 虫食算
- TensorFlow学习日记12
- Windows安装pyserial
- netty源码分析(十三)Netty核心四大组件关系与构建方式深度解读
- AlphaGo称王!柯洁输掉三番棋最后一场
- 谁有何书元数理统计的视频呢,但我没有C币
- 新手村 顺序与分支 小玉家的电费