<span style="font-family: 'Microsoft YaHei'; background-color: rgb(255, 255, 255);">最近使用python写后台程序,发现了一些平时不太注意的地方。</span>

首先,Python与缓冲区的问题:

一个python程序执行,我们想要将其打印输出重定向到log文件,你会发现直到程序执行完,输出才一次性的写到log文件。原因是python 的print 先写到缓冲区了,还没flush到文件。

如果你想随着程序执行就写入。就要加一行“ sys.stdout.flush()”
--在每次print后都flush一次。

其次,open和close的问题:

经过多次实践发现,Python只有在遇到file.close()或者整个Python程序正常退出的时候,才会将你file.write()或者重定向输出到文件的内容真正写入到文件。也就是说,如果你的Python程序一直运行在后台,而你的Python程序累死下面这样,那么你永远那看不到文件被写入:

file = open("path_to_your_file",‘a’)
print >>file,"FOOL!"
while 1:
pass

你必须每次打开文件,写入之后都调用close方法关闭文件,这样,你才能看到一直运行的后台程序向文件的输出。

file = open("path_to_your_file",‘a’)
print >>file,"FOOL!"
file.close()
while 1:
pass

版权声明:本文为博主原创文章,未经博主允许不得转载。

最新文章

  1. Base64编码原理分析
  2. JS调用OC方法并传值,OC调用JS方法并传值////////////////////////zz
  3. faceBook Pop动画库手动添加版本
  4. InnoDB源码分析--缓冲池(二)
  5. MMO可见格子算法
  6. 使用Windows PE的U盘安装win7
  7. 解决Surface Pro外接移动硬盘经常睡眠的问题
  8. DCMTK开源库的学习笔记4:利用ini配置文件对dcm影像进行归档
  9. [转]处理程序“PageHandlerFactory-Integrated”在其模块列表中有一个错误模块“ManagedPipelineHandler”
  10. 配置Git自动补全功能
  11. android学习日记12--布局管理器
  12. Asp.Net 5使用Area及自定义Area
  13. “死锁” 与 python多线程之threading模块下的锁机制
  14. 负载均衡集群之LVS算法和模型
  15. Swift - 运算符重载和运算符函数
  16. 更新android SDK的问题
  17. CA认证和颁发吊销证书
  18. JavaScript Html页面加载完成
  19. 【小白学C#】浅谈.NET中的IL代码
  20. Connecting Elixir Nodes with libcluster, locally and on Kubernetes

热门文章

  1. InstallShield:自己备份
  2. thinkphp使用问题
  3. 《python源码剖析》笔记一——python编译
  4. C# 数据结构 基础 论述
  5. Warning File `.depend&#39; has modification time 1.6 s in the future
  6. 修改虚拟机linux硬盘的大小
  7. spring- properties 读取的五种方式
  8. shell抓取
  9. python关键字
  10. 用POLL的方式,没有跑出结果来,立此存照