最新文章专题视频专题关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
男生发um是什么意思 mysqldump命令详解 畅哺益生菌驼乳粉是哪家单位生产的 windows cmd 命令大全 cmd ping命令 oracle获取当前日期 纷飞的滥情男女是什么歌 经济师中级报考条件 offset指令 腾讯有没有入股米哈游 幽灵行动断点vulkan什么意思 小米短信拦截在哪里找出来 nosql数据库有哪些 康复治疗技术是做什么的 战地五终极版给的东西在哪 霸气佛系名字 ping 端口命令 sunwear干什么的 csp是什么绘画软件 东京奥运会男子举重冠军是谁 玉米灰包吃法 window.open不打开新窗口 牛奶倒床上吹干会臭吗 mysql存储过程实例详解 炸肉盒子怎么和面炸出来不硬 永劫无间biu表情怎么获得 微信视频号链接获取 hresult 0x80240037错误原因 excel vba编程教程 带珺好听到爆的名字 七字古诗唯美网名 jmeter正则表达式 正则表达式匹配字符串 java正则表达式匹配字符串 c++ split 带鱼字的气质微信昵称 js split函数 js获取url参数 java正则表达式详解 js获取url参数的值
当前位置: 首页 - 科技 - 知识百科 - 正文

python代码没错但运行不出来

来源:懂视网 责编:李赢赢 时间:2021-12-25 11:01:42
文档

python代码没错但运行不出来

python代码没错但运行不出来的原因:某项目中使用python脚本方式将日志文件中的数据持续的转换格式输出到另一文件中以供其他日志分析应用使用,但是当后台运行采取重定向方式输出到某一文件时,发现并没有内容输出,当前台直接输出到终端时正常,使用后台运行重定向的方式输出到文件中时无法输出。
推荐度:
导读python代码没错但运行不出来的原因:某项目中使用python脚本方式将日志文件中的数据持续的转换格式输出到另一文件中以供其他日志分析应用使用,但是当后台运行采取重定向方式输出到某一文件时,发现并没有内容输出,当前台直接输出到终端时正常,使用后台运行重定向的方式输出到文件中时无法输出。

python代码没错但运行不出来是什么原因呢?不知道的小伙伴来看看小编今天的分享吧!

1、python代码没错但运行不出来的原因:

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

python xxx.py > xxx.log &

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

2、解决办法:

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

所以采用在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?C>new projects

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

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

以上就是小编今天的分享了,希望可以帮助到大家。

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:0731-84117792 E-MAIL:11247931@qq.com

文档

python代码没错但运行不出来

python代码没错但运行不出来的原因:某项目中使用python脚本方式将日志文件中的数据持续的转换格式输出到另一文件中以供其他日志分析应用使用,但是当后台运行采取重定向方式输出到某一文件时,发现并没有内容输出,当前台直接输出到终端时正常,使用后台运行重定向的方式输出到文件中时无法输出。
推荐度:
标签: python代码
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题男生发um是什么意思男生发um是什么意思专题mysqldump命令详解mysqldump命令详解专题畅哺益生菌驼乳粉是哪家单位生产的畅哺益生菌驼乳粉是哪家单位生产的专题windows cmd 命令大全windows cmd 命令大全专题cmd ping命令cmd ping命令专题oracle获取当前日期oracle获取当前日期专题纷飞的滥情男女是什么歌纷飞的滥情男女是什么歌专题经济师中级报考条件经济师中级报考条件专题offset指令offset指令专题腾讯有没有入股米哈游腾讯有没有入股米哈游专题幽灵行动断点vulkan什么意思幽灵行动断点vulkan什么意思专题小米短信拦截在哪里找出来小米短信拦截在哪里找出来专题nosql数据库有哪些nosql数据库有哪些专题康复治疗技术是做什么的康复治疗技术是做什么的专题战地五终极版给的东西在哪战地五终极版给的东西在哪专题霸气佛系名字霸气佛系名字专题ping 端口命令ping 端口命令专题sunwear干什么的sunwear干什么的专题csp是什么绘画软件csp是什么绘画软件专题东京奥运会男子举重冠军是谁东京奥运会男子举重冠军是谁专题c语言十进制转二进制代码c语言十进制转二进制代码专题带瑞字的昵称洋气一点带瑞字的昵称洋气一点专题java priorityqueuejava priorityqueue专题java opencvjava opencv专题java exceptionjava exception专题惊艳诗意的兄妹名字惊艳诗意的兄妹名字专题openjdk和oracle jdk的区别openjdk和oracle jdk的区别专题富有诗意的菜名字大全富有诗意的菜名字大全专题顾燕帧家最后发生什么事了顾燕帧家最后发生什么事了专题js设置stylejs设置style专题鸡兔同笼问题python代码专题八零后小吃图片大全专题吧,b专题安阳pe管材专题奥特曼游戏内购破解版大全专题吧机哪家好专题八路军正参谋长是谁专题八零小厨子专题八路军郑川专题八路循环彩灯电路图专题吧十年手机旧版专题八路军689团专题澳门吕志和专题奥德赛ghac电动尾门专题八荒武帝下载专题八年级下册物理题浮力专题扒炉煎牛排用多少度专题八路军为什么穿圆口布鞋专题八小时工作制度最早在哪个国家出现专题吧视频中的声音加上字幕专题
Top