Python读取实时数据流示例


Posted in Python onDecember 02, 2019

1、#coding:utf-8

chose = [
  ('foo',1,2),
  ('bar','hello'),
  ('foo',3,4)
]

def do_foo(x,y):
  print('foo',x,y)

def do_bar(s):
  print('bar',s)

for tag,*args in chose:
  if tag == 'foo':
    do_foo(*args)

  elif tag == 'bar':
    do_bar(*args)

line = 'nobody:*:-2:-2:Unprivileged User:/var/empty:/usr/bin/false'

uname,*fields,homedir,sh = line.split(':')
print(sh)
from collections import deque
def search(lines, pattern, history=5):
  previous_lines = deque(maxlen=history)
  for li in lines:
    if pattern in li:
      yield li, previous_lines
    previous_lines.append(li)


# Example use on a file
if __name__ == '__main__':
  with open(r'./somefiles.py') as f:
    for line, prevlines in search(f, 'python', 5):
      for pline in prevlines:
        print(pline, end='')
      print(line, end='')
      print('-' * 20)

2、import heapq

portfolio = [
{'name': 'IBM', 'shares': 100, 'price': 91.1},
{'name': 'AAPL', 'shares': 50, 'price': 543.22},
{'name': 'FB', 'shares': 200, 'price': 21.09},
{'name': 'HPQ', 'shares': 35, 'price': 31.75},
{'name': 'YHOO', 'shares': 45, 'price': 16.35},
{'name': 'ACME', 'shares': 75, 'price': 115.65}
]
cheap = heapq.nsmallest(3, portfolio, key=lambda s: s['price'])
expensive = heapq.nlargest(3, portfolio, key=lambda s: s['price'])
print(cheap)
print(expensive)

3、读取流数据源

如果数据是来自一个连续的数据源,我们需要读取连续数据,接下来

我们介绍一个适用于许多真是场景的简单解决方案,然而它并不是通用的。

操作步骤:

在本节中我们将想你演示如何读取一个实时变化的文件,并把输入打印出来。

import time
import os
import sys

if len(sys.argv) != 2:
  print('>>sys.stderr,"请输入需要读取的文件名!"')

filename = sys.argv[1]

if not os.path.isfile(filename):
  print('>>sys.stderr,"请给出需要的文件:\%s\: is not a file" % filename')

with open(filename,'r') as f:
  filesize = os.stat(filename)[6]
  f.seek(filesize)
  while True:
    where = f.tell()
    line = f.readline()
    if not line:
      time.sleep(1)
      f.seek(where)
    else:
      print(line)

以上这篇Python读取实时数据流示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python中的tuple元组详细介绍
Feb 02 Python
python通过shutil实现快速文件复制的方法
Mar 14 Python
python numpy函数中的linspace创建等差数列详解
Oct 13 Python
Python获取本机所有网卡ip,掩码和广播地址实例代码
Jan 22 Python
Python学习笔记之open()函数打开文件路径报错问题
Apr 28 Python
python读取xlsx的方法
Dec 25 Python
Python玩转Excel的读写改实例
Feb 22 Python
python编程进阶之类和对象用法实例分析
Feb 21 Python
Python3实现飞机大战游戏
Apr 24 Python
Django在Model保存前记录日志实例
May 14 Python
如何用python反转图片,视频
Apr 24 Python
Python+pyaudio实现音频控制示例详解
Jul 23 Python
简单了解python元组tuple相关原理
Dec 02 #Python
python实现智能语音天气预报
Dec 02 #Python
Python:二维列表下标互换方式(矩阵转置)
Dec 02 #Python
python 实现二维列表转置
Dec 02 #Python
python列表推导式入门学习解析
Dec 02 #Python
Python 矩阵转置的几种方法小结
Dec 02 #Python
numpy.transpose()实现数组的转置例子
Dec 02 #Python
You might like
一个目录遍历函数
2006/10/09 PHP
一贴学会PHP 新手入门教程
2009/08/03 PHP
php使用curl出现Expect:100-continue解决方法
2015/03/03 PHP
PHP设计模式之工厂模式(Factory Pattern)的讲解
2019/03/21 PHP
对textarea框的代码调试,而且功能上使用非常方便,酷
2006/06/30 Javascript
FireFox下XML对象转化成字符串的解决方法
2011/12/09 Javascript
JavaScript SetInterval与setTimeout使用方法详解
2013/11/15 Javascript
JavaScript用JQuery呼叫Server端方法示例代码
2014/09/03 Javascript
js实现支持手机滑动切换的轮播图片效果实例
2015/04/29 Javascript
jQuery实现文本框输入同步的方法
2015/06/20 Javascript
javascript编写贪吃蛇游戏
2015/07/07 Javascript
javascript检查浏览器是否已经启用XX功能
2015/07/10 Javascript
Bootstrap使用基础教程详解
2016/09/05 Javascript
整理一下常见的IE错误
2016/11/18 Javascript
JavaScript基本类型值-Undefined、Null、Boolean
2017/02/23 Javascript
Angular+Node生成随机数的方法
2017/06/16 Javascript
vue项目优化之通过keep-alive数据缓存的方法
2017/12/11 Javascript
vue实现简单的星级评分组件源码
2018/11/16 Javascript
js实现通过开始结束控制的计时器
2019/02/25 Javascript
node创建Vue项目步骤详解
2020/03/06 Javascript
PyCharm代码格式调整方法
2018/05/23 Python
Python实现决策树并且使用Graphviz可视化的例子
2019/08/09 Python
Python如何应用cx_Oracle获取oracle中的clob字段问题
2019/08/27 Python
基于python实现检索标记敏感词并输出
2020/05/07 Python
挪威太阳镜和眼镜网上商城:SmartBuyGlasses挪威
2016/08/20 全球购物
荷兰的时尚市场:To Be Dressed
2019/05/06 全球购物
"火柴棍式"程序员面试题
2014/03/16 面试题
Shell编程面试题
2016/05/29 面试题
反腐倡廉警示教育活动总结
2014/05/05 职场文书
安全宣传标语口号
2014/06/06 职场文书
原料仓仓管员岗位职责
2014/07/08 职场文书
民主生活会对照检查材料(统计局)
2014/09/21 职场文书
新闻稿件写作技巧
2015/07/18 职场文书
2016大学生诚信考试承诺书
2016/03/25 职场文书
导游词之山海关
2019/12/10 职场文书
关于Spring配置文件加载方式变化引发的异常详解
2022/01/18 Java/Android