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中的hashlib和base64加密模块使用实例
Sep 02 Python
Python urllib、urllib2、httplib抓取网页代码实例
May 09 Python
Python 文件管理实例详解
Nov 10 Python
全面分析Python的优点和缺点
Feb 07 Python
Python实现快速计算词频功能示例
Jun 25 Python
python3爬虫学习之数据存储txt的案例详解
Apr 24 Python
python3 动态模块导入与全局变量使用实例
Dec 22 Python
OpenCV python sklearn随机超参数搜索的实现
Jan 17 Python
PyQt使用QPropertyAnimation开发简单动画
Apr 02 Python
Pandas数据类型之category的用法
Jun 28 Python
详解解Django 多对多表关系的三种创建方式
Aug 23 Python
Python first-order-model实现让照片动起来
Jun 25 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
纯真IP数据库的应用 IP地址转化成十进制
2009/06/14 PHP
黑夜路人出的几道php笔试题
2009/08/04 PHP
PHP基础知识回顾
2012/08/16 PHP
PHP多维数组转一维数组的简单实现方法
2015/12/23 PHP
php获取今日开始时间和结束时间的方法
2017/02/27 PHP
PHP实现将多个文件压缩成zip格式并下载到本地的方法示例
2018/05/23 PHP
js如何判断不同系统的浏览器类型
2013/10/28 Javascript
JavaScript字符串对象toLowerCase方法入门实例(用于把字母转换为小写)
2014/10/17 Javascript
JQuery插件jcarousellite的参数中文说明
2015/05/11 Javascript
文本框只能输入数字的js代码(含小数点)
2016/07/10 Javascript
AngularJS入门教程之链接与图片模板详解
2016/08/19 Javascript
微信小程序实现image组件图片自适应宽度比例显示的方法
2018/01/16 Javascript
详解一个基于react+webpack的多页面应用配置
2019/01/21 Javascript
vue实现在线学生录入系统
2020/05/30 Javascript
Vue优化:常见会导致内存泄漏问题及优化详解
2020/08/04 Javascript
[09:47]2018DOTA2亚洲邀请赛4.5SOLO赛 No[o]ne vs Sumail
2018/04/06 DOTA
[01:00] DOTA2英雄背景故事第五期之重力引力法则谜团
2020/07/16 DOTA
python 读取摄像头数据并保存的实例
2018/08/03 Python
解决Python spyder显示不全df列和行的问题
2020/04/20 Python
python实现画图工具
2020/08/27 Python
pycharm2020.1.2永久破解激活教程,实测有效
2020/10/29 Python
python 如何引入协程和原理分析
2020/11/30 Python
jupyter notebook远程访问不了的问题解决方法
2021/01/11 Python
纯CSS3实现手风琴风格菜单具体步骤
2013/05/06 HTML / CSS
HTML5对手机页面长按会粘贴复制禁用的解决方法
2016/07/19 HTML / CSS
英国家庭和商业健身器材购物网站:Fitness Options
2018/07/05 全球购物
伦敦一家领先的精品零售商:IRIS Fashion
2019/05/24 全球购物
G-Form护具官方网站:美国运动保护装备
2019/09/04 全球购物
介绍一下SQL中union,intersect和minus
2012/04/05 面试题
聚美优品陈欧广告词
2014/03/14 职场文书
团支部建设方案
2014/05/02 职场文书
党建工作整改措施
2014/10/28 职场文书
2014年副班长工作总结
2014/12/10 职场文书
歼十出击观后感
2015/06/11 职场文书
七夕情人节问候语
2015/11/11 职场文书
「女孩的钓鱼慢活」全新版权绘公布
2022/03/21 日漫