相关疑难解决方法(0)

在Python中读取带超时的文件

在Linux中,有一个文件,/sys/kernel/debug/tracing/trace_pipe顾名思义,它是一个管道.所以,假设我想用Python读取它的前50个字节 - 我运行以下代码:

$sudo python -c 'f=open("/sys/kernel/debug/tracing/trace_pipe","r"); print f; print f.read(50); f.close()<br>
<open file '/sys/kernel/debug/tracing/trace_pipe', mode 'r' at 0xb7757e90>
Run Code Online (Sandbox Code Playgroud)

我们可以看到打开文件的速度很快(如果我们拥有超级用户权限) - 但是,如果该trace_pipe文件在那时是空的,它将只是阻塞(即使有内容,内容也将被转储,直到没有更多,然后再次文件将阻止).然后我必须按Ctrl- CKeyboardInterrupt... 中断Python脚本

如何让Python 2.7执行超时读取?

也就是说,我想指示Python "尝试从这个文件中读取50个字节;如果你在一秒钟后没有成功,就放弃并返回"

python linux python-2.7

14
推荐指数
2
解决办法
2万
查看次数

标签 统计

linux ×1

python ×1

python-2.7 ×1