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中signal包的使用
Nov 13 Python
在Python程序和Flask框架中使用SQLAlchemy的教程
Jun 06 Python
python中import学习备忘笔记
Jan 24 Python
itchat和matplotlib的结合使用爬取微信信息的实例
Aug 25 Python
Python实现动态添加属性和方法操作示例
Jul 25 Python
Python 文本文件内容批量抽取实例
Dec 10 Python
python批量爬取下载抖音视频
Jun 17 Python
tensorflow生成多个tfrecord文件实例
Feb 17 Python
Python 线性回归分析以及评价指标详解
Apr 02 Python
Python在后台自动解压各种压缩文件的实现方法
Nov 10 Python
详解anaconda安装步骤
Nov 23 Python
selenium设置浏览器为headless无头模式(Chrome和Firefox)
Jan 08 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编程开发“虚拟域名”系统
2006/10/09 PHP
PHP中STDCLASS用法实例分析
2016/11/11 PHP
PHP实现数组的笛卡尔积运算示例
2017/12/15 PHP
PHP实现的解汉诺塔问题算法示例
2018/08/06 PHP
php redis setnx分布式锁简单原理解析
2020/10/23 PHP
最简单的jQuery程序 入门者学习
2009/07/09 Javascript
js下将字符串当函数执行的方法
2011/07/13 Javascript
js 延迟加载 改变JS的位置加快网页加载速度
2012/12/11 Javascript
判断js中各种数据的类型方法之typeof与0bject.prototype.toString讲解
2013/11/07 Javascript
jquery attr方法获取input的checked属性问题
2014/05/26 Javascript
如何调试异步加载页面里包含的js文件
2014/10/30 Javascript
nodejs的压缩文件模块archiver用法示例
2017/01/18 NodeJs
利用JS制作万年历的方法
2017/08/16 Javascript
JS实现div模块的截图并下载功能
2017/10/17 Javascript
JavaScript数据结构与算法之二叉树实现查找最小值、最大值、给定值算法示例
2019/03/01 Javascript
JS中比较两个Object数组是否相等方法实例
2019/11/11 Javascript
浅谈Python 集合(set)类型的操作——并交差
2016/06/30 Python
详解Python安装scrapy的正确姿势
2018/06/26 Python
django认证系统 Authentication使用详解
2019/07/22 Python
Python 3.9的到来到底是意味着什么
2020/10/14 Python
教你如何一步一步用Canvas写一个贪吃蛇
2018/10/22 HTML / CSS
英国手机壳购买网站:Case Hut
2019/04/11 全球购物
SHEIN台湾:购买最新流行女装服饰
2019/05/18 全球购物
Cult Gaia官网:美国生活方式品牌
2019/08/16 全球购物
大学生村官典型材料
2014/01/12 职场文书
安全责任书范本
2014/04/15 职场文书
授权委托书(公民个人适用)
2014/09/19 职场文书
公司党的群众路线教育实践活动领导班子对照检查材料
2014/09/25 职场文书
千手观音观后感
2015/06/03 职场文书
送给火锅店的创意营销方案!
2019/07/08 职场文书
餐厅营销的秘密:为什么老顾客会流水?
2019/08/08 职场文书
Mysql 用户权限管理实现
2021/05/25 MySQL
分享几个简单MySQL优化小妙招
2022/03/31 MySQL
python实现对doc、txt、xls等文档的读写操作
2022/04/02 Python
springboot读取resources下文件的方式详解
2022/06/21 Java/Android
win10输入法不见了只能打出字母怎么解决?
2022/08/05 数码科技