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使用PyFetion来发送短信的例子
Apr 22 Python
python脚本设置系统时间的两种方法
Feb 21 Python
Python selenium文件上传方法汇总
Nov 19 Python
git进行版本控制心得详谈
Dec 10 Python
python http接口自动化脚本详解
Jan 02 Python
详谈Python3 操作系统与路径 模块(os / os.path / pathlib)
Apr 26 Python
Python爬虫实现全国失信被执行人名单查询功能示例
May 03 Python
python邮件发送smtplib使用详解
Jun 16 Python
使用Py2Exe for Python3创建自己的exe程序示例
Oct 31 Python
Python网页正文转换语音文件的操作方法
Dec 09 Python
用python画一只可爱的皮卡丘实例
Nov 21 Python
django 数据库返回queryset实现封装为字典
May 19 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
深入php list()函数的详解
2013/06/05 PHP
PHP中new static() 和 new self() 的区别介绍
2015/01/09 PHP
PHP实现动态创建XML文档的方法
2018/03/30 PHP
PHP 多任务秒级定时器的实现方法
2018/05/13 PHP
解析Node.js异常处理中domain模块的使用方法
2016/02/16 Javascript
基于JavaScript实现右键菜单和拖拽功能
2016/11/28 Javascript
Angular4绑定html内容出现警告的处理方法
2017/11/03 Javascript
Angular实现的日程表功能【可添加及隐藏显示内容】
2017/12/27 Javascript
vue.js添加一些触摸事件以及安装fastclick的实例
2018/08/28 Javascript
TypeScript魔法堂之枚举的超实用手册
2020/10/29 Javascript
vue 数据遍历筛选 过滤 排序的应用操作
2020/11/17 Javascript
[48:47]VGJ.S vs NB 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
Python生成器(Generator)详解
2015/04/13 Python
使用Python的判断语句模拟三目运算
2015/04/24 Python
Python实现批量检测HTTP服务的状态
2016/10/27 Python
Python向日志输出中添加上下文信息
2017/05/24 Python
Python中enumerate函数代码解析
2017/10/31 Python
如何查看Django ORM执行的SQL语句的实现
2020/04/20 Python
简单的命令查看安装的python版本号
2020/08/28 Python
纯CSS3单页切换导航菜单界面设计的简单实现
2016/08/16 HTML / CSS
浅析HTML5 meta viewport参数
2020/10/28 HTML / CSS
工程现场管理求职自荐信
2013/10/02 职场文书
高中生学习总结的自我评价范文
2013/10/13 职场文书
办公室文员工作自我评价
2013/12/01 职场文书
销售经理工作职责范文
2013/12/03 职场文书
销售顾问岗位职责
2014/02/25 职场文书
高三家长寄语
2014/04/03 职场文书
干部鉴定材料
2014/05/18 职场文书
2014各大专业毕业生自我评价
2014/09/17 职场文书
人身损害赔偿协议书范本
2014/09/27 职场文书
教师个人师德工作总结2015
2015/05/12 职场文书
盗窃罪辩护词范文
2015/05/21 职场文书
2016年党员读书月活动总结
2016/04/06 职场文书
《女娲补天》读后感5篇
2019/12/31 职场文书
MySQL InnoDB ReplicaSet(副本集)简单介绍
2021/04/24 MySQL
JavaScript如何利用Promise控制并发请求个数
2021/05/14 Javascript