Python读取实时数据流示例
作者:Python之魂 发布时间:2023-09-11 14:20:00
标签:Python,读取,数据流
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)
来源:https://blog.csdn.net/weixin_43431189/article/details/89341441


猜你喜欢
- 方法一一般情况下,SQL数据库的收缩并不能很大程度上减小数据库大小,其主要作用是收缩日志大小,应当定期进行此操作以免数据库日志过大1、设置数
- 前言:Unittest又名单元测试,主要用于测试自己写的代码的正确性和完备性,也方便自己和他人对代码的维护。在软件开发过程中,测试驱动开发的
- XPath 的安装以及使用1 . XPath 的介绍刚学过正则表达式,用的正顺手,现在就把正则表达式替换掉,使用 XPath,有人表示这太坑
- 前言通常在读写文件之前,我们需要先判断文件或者目录是否存在。不然在接下来的处理中可能会报错。所以在做任何操作之前,最好还是先判断文件、目录是
- 今天运行程序时,在Oracle中输入SQL语句:select * from USERS as u ,程序报错输入select * from
- 我是一个初入互联网的视觉设计师,和以往做设计感受最大的不同就是:一个设计的最终定稿会受到多方面的挑战,有来自产品经理的,来自开发的,来自测试
- 我们先看一下淘宝的页面:这么一个庞然大物,该怎么切图呢?显然按照给出的方法也可以完成这项任务,但是做为前端开发的我们是否应该给自己提出更高的
- 关联2张表时出现了无法创建外键的情况,从这个博客看到,问题出在第六点的Charset和Collate选项在表级和字段级上的一致性上。我的2张
- 第一步、在detect.py中177行左右,cv.imshow(str(p),im0)之前加上:cv2.putText(im0,f"
- 起因在公司搭建了套webpack多页面应用脚手架,开始用着很爽,解决了既想使用Vue的模块化开发,又想做多页打包上线管理的初衷,但是随着业务
- Django Model的外键自关联在django的model定义中,有时需要某个Field引用当前定义的Model,比如一个部门(Depa
- 为了防止某些别有用心的人从外部访问数据库,盗取数据库中的用户姓名、密码、信用卡号等其他重要信息,在我们创建数据库驱动的解决方案时,我们首先需
- 引言今天在使用Pytorch导入此前保存的模型进行测试,在过程中发现输出的结果与验证结果差距甚大,经过排查后发现是forward与eval(
- 常用功能 mean(data)mean(data)用于求给定序列或者迭代器的算术平均数。import statisticsexample_l
- CSS浮动一直是个比较让人郁闷的问题,很多的布局问题都出在浮动上,特别是当浮动的列数很多时,但其实只要理解了两列结构的浮动,面对多列数的浮动
- 0.偶然间看到一个奇怪的现象>>> x = 1>>> a = var()>>> a[&
- 0.背景在游戏的UI中,往往会出现这样的情况:在某个战斗副本中获得了某个道具A,那么当进入主界面的时候,你会看到你的背包UI上有个小红点(意
- itertools模块的介绍在Python中,迭代器(Iterator)是常用来做惰性序列的对象,只有当迭代到某个值的时候,才会进行计算得出
- 如下所示:df = df[df['cityname']==u'北京市']记得,如果用的python2,一定要
- AJAX应用因为它们的表现力的丰富、更加互动和更加迅速的响应得到了赞扬声;这些优点都是通过使用XMLHttpRequest对象来动态的载入数