首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python多线程pyshark

Python多线程pyshark
EN

Stack Overflow用户
提问于 2020-06-01 15:30:58
回答 1查看 402关注 0票数 1

我是python的新手,我正在测试pyshark库。

我想时时刻刻闻一下交通状况,然后做点别的事情。但当我启动嗅探器时,所有其他代码都停止工作。我尝试过异步线程和多线程,但总是出现不同的错误。

这就是我想在不阻塞应用程序的情况下运行的代码。

代码语言:javascript
复制
import pyshark
import asyncio

class Sniffer:

    @staticmethod
    @asyncio.coroutine
    def sniff():
        cap = pyshark.LiveCapture(interface='en0')
        cap.sniff_continuously(packet_count=0)
        for pkt in cap:
            print(pkt)

谢谢你的建议。

EN

回答 1

Stack Overflow用户

发布于 2020-06-01 15:38:31

您可以尝试使用多线程类。https://docs.python.org/3/library/threading.html

例如:

代码语言:javascript
复制
import thread
obj = Sniffer()
thread.start_new_thread( obj.sniff,)

另一种方法,如果你厌倦了多线程或其他人,创建新的python文件并导入你的嗅探器。

例如:

代码语言:javascript
复制
# new python file
import sniffer
obj = sniffer.Sniffer()
while True:
    obj.sniff()

这样就可以使用你的处理器核心。这就像多线程一样,差别很小,你的操作系统会让它自动工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62127499

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档