python程序输出无内容的解决方式


Posted in Python onApril 09, 2020

问题缘由

某项目中使用python脚本方式将日志文件中的数据持续的转换格式输出到另一文件中以供其他日志分析应用使用。但是当后台运行采取重定向方式输出到某一文件时,发现并没有内容输出,命令如下:

python xxx.py > xxx.log &

测试发现,当前台直接输出到终端时正常,使用后台运行重定向的方式输出到文件中时无法输出。

解决办法

发现是在程序运行时,输出有缓存,只有当程序运行结束或者缓冲区满后才会输出。因为程序是一致在运行的所以不可能等待程序结束在输出。并且要求是有实时性的所以等缓冲区满输出的方式也不可取。

所以采用在python运行时加上-u参数,如:

python -u xxx.py > xxx.log &

-u参数的意义是不使用缓冲的方式输入输出

详细如下:

Force stdin, stdout and stderr to be totally unbuffered. On systems where it matters, also put stdin, stdout and stderr in binary mode. Note that there is internal buffering in xreadlines(), readlines() and file-object iterators (“for line in sys.stdin”) which is not influenced by this option. To work around this, you will want to use “sys.stdin.readline()” inside a “while 1:” loop.

补充知识:python中运行代码时没有报错但是也没有输出而且还有exit code 0的结束标志

如下所示:

f=open("passwd.txt",'r')
print (f.read(4))
f.close()

这是想要执行的代码

passwd.txt中的内容

ntp:x:38:38::/etc/ntp:/sbin/nologin
apache:x:48:48:Apache:/var/www:/sbin/nologin
saslauth:x:498:76:Saslauthd user:/var/empty/saslauth:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
gdm:x:42:42::/var/lib/gdm:/sbin/nologin
pulse:x:497:496:PulseAudio System Daemon:/var/run/pulse:/sbin/nologin

但是输出的结果是

Process finished with exit code 0

后来排查发现原来是解释器的问题

我之前使用的解释器是pycharm提供的虚拟解释器

#####如何查看解释器

点file?>new projects

python程序输出无内容的解决方式

如果选择的是2就是使用了pycharm提供的虚拟解释器,又因为passwd.txt文件不是在虚拟环境中的所以就没有输出。

点击3然后选择你已经下载好的解释器即可。

以上这篇python程序输出无内容的解决方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python运行的17个时新手常见错误小结
Aug 07 Python
分析Python中解析构建数据知识
Jan 20 Python
Python3中正则模块re.compile、re.match及re.search函数用法详解
Jun 11 Python
详解Python 调用C# dll库最简方法
Jun 20 Python
Django+zTree构建组织架构树的方法
Aug 21 Python
TensorFlow绘制loss/accuracy曲线的实例
Jan 21 Python
解决Tensorflow sess.run导致的内存溢出问题
Feb 05 Python
python 工具 字符串转numpy浮点数组的实现
Mar 14 Python
基于Python第三方插件实现西游记章节标注汉语拼音的方法
May 22 Python
Keras 快速解决OOM超内存的问题
Jun 11 Python
torchxrayvision包安装过程(附pytorch1.6cpu版安装)
Aug 26 Python
Appium中scroll和drag_and_drop根据元素位置滑动
Feb 15 Python
python爬虫学习笔记之Beautifulsoup模块用法详解
Apr 09 #Python
python爬虫学习笔记之pyquery模块基本用法详解
Apr 09 #Python
python使用pymongo与MongoDB基本交互操作示例
Apr 09 #Python
使用Python和百度语音识别生成视频字幕的实现
Apr 09 #Python
利用Python制作动态排名图的实现代码
Apr 09 #Python
使用python接受tgam的脑波数据实例
Apr 09 #Python
解决使用python print打印函数返回值多一个None的问题
Apr 09 #Python
You might like
php学习笔记(三)操作符与控制结构
2011/08/06 PHP
PHP读取大文件的多种方法介绍
2016/04/04 PHP
PHPExcel简单读取excel文件示例
2016/05/26 PHP
php关联数组与索引数组及其显示方法
2018/03/12 PHP
解决FireFox下[使用event很麻烦]的问题
2006/11/26 Javascript
让getElementsByName适应IE和firefox的方法
2007/09/24 Javascript
jquery下onpropertychange事件的绑定方法
2010/08/01 Javascript
node.js中的buffer.fill方法使用说明
2014/12/14 Javascript
分享2个jQuery插件--jquery.fileupload与artdialog
2014/12/26 Javascript
javascript检测两个数组是否相似
2015/05/19 Javascript
jQuery实现垂直半透明手风琴特效代码分享
2015/08/21 Javascript
Angular2实现自定义双向绑定属性
2017/03/22 Javascript
Vue.js实现一个SPA登录页面的过程【推荐】
2017/04/29 Javascript
jQuery属性选择器用法实例分析
2019/06/28 jQuery
react组件基本用法示例小结
2020/04/27 Javascript
Python中的条件判断语句与循环语句用法小结
2016/03/21 Python
Python用Pillow(PIL)进行简单的图像操作方法
2017/07/07 Python
Python3 使用cookiejar管理cookie的方法
2018/12/28 Python
Apache部署Django项目图文详解
2019/07/30 Python
如何在Django中使用聚合的实现示例
2020/03/23 Python
利用python生成照片墙的示例代码
2020/04/09 Python
PyQt5连接MySQL及QMYSQL driver not loaded错误解决
2020/04/29 Python
世界上最大的二手相机店:KEN
2017/05/17 全球购物
描述一下JVM加载class文件的原理机制
2013/12/08 面试题
应用化学专业本科生求职信
2013/09/29 职场文书
应届生求职推荐信
2013/10/28 职场文书
物业管理计划书
2014/01/10 职场文书
幼儿园元旦亲子活动方案
2014/02/17 职场文书
出租房屋协议书
2014/09/14 职场文书
餐饮服务食品安全承诺书
2015/04/29 职场文书
2015年国庆节广播稿
2015/08/19 职场文书
职业生涯规划书之大学四年
2019/08/07 职场文书
golang 生成对应的数据表struct定义操作
2021/04/28 Golang
mysql字段为NULL索引是否会失效实例详解
2022/05/30 MySQL
Python如何将list中的string转换为int
2022/07/15 Ruby
详解MySQL的内连接和外连接
2023/05/08 MySQL