如何屏蔽Python中文件write操作返回的字符长度打印输出?
如何屏蔽Python中
write()方法返回值的自动打印? 嘿,这个问题我太熟悉了!你看到的5和11其实是write()方法返回的写入字符数——之所以会被打印出来,是因为你大概率在交互式Python环境(比如Python shell、IPython或者Jupyter Notebook)里运行这段代码,而交互式环境会自动把每个未被赋值/忽略的表达式的返回值输出到控制台。
要屏蔽这些打印结果,有几个简单的办法:
方法一:把代码存成脚本文件运行
如果你把代码保存成.py格式的脚本(比如write_test.py),然后通过命令行python write_test.py运行,就不会自动打印返回值了——脚本模式下Python默认不会输出函数的返回值,除非你主动用print()去打印。方法二:在交互式环境里忽略返回值
如果一定要在交互式环境里执行,可以把write()的返回值赋值给一个变量(哪怕用下划线_这个“占位符变量”,因为它在Python交互式环境里本来就用来存上一个返回值,赋值后就不会自动打印了):with open('file.txt', 'w') as output: _ = output.write('stuff') _ = output.write('hello there')或者更简单,如果你用的是Jupyter Notebook这类环境,还可以在代码行末尾加个分号
;来屏蔽输出:with open('file.txt', 'w') as output: output.write('stuff'); output.write('hello there');
简单总结下:本质是交互式环境的“自动打印返回值”特性搞的鬼,只要不让返回值“裸露”在代码里,就能屏蔽这些数字啦!
内容的提问来源于stack exchange,提问作者ProGirlXOXO
相关产品推荐
相关产品推荐

