python - Python:我不能从标准输入获得超过 65885 个字节
问题描述
我有一个 Python 脚本,用于从标准输入获取数据,如下所示:
$ cat requests.txt | ./script.py
它工作得很好,但是当我有超过 65885 个字节时requests.txt
,脚本只会获取这些字节。我得到这样的标准输入:
import sys
from queue import Queue
def to_queue():
'''Read the pipe in and store lines as queue elements'''
q = Queue()
for line in sys.stdin:
print(line)
q.put(line)
return q
这print(line)
通过标准输出向我表明我得到的数据不完整。
我在 Mac OS Catalina 上使用 Python 3.7。
知道如何解决吗?也许增加标准输入缓冲区?提前致谢。
更新:我在 MacOC Catalina 中测试它,而不是在 Ubuntu 中。
我看到并做这样的事情:
gen_requests.sh > requests.txt
然后:
cat requests.txt | python script.py
--> 有效,显示所有内容
gen_requests.sh | python script.py
--> 它失败了,它只显示到 65585 字节
这怎么可能??
解决方案
推荐阅读
- python-3.x - Python 运行以前的代码而不是当前代码
- go - 我们可以使用恢复函数来处理所有恐慌而不是将错误视为值吗?
- reactjs - 将更改的状态传递给道具并且道具不会更新
- tensorflow - 有没有办法从张量流中的图像中获取 IUV 图?
- protobuf-net - Protobuff 标识符性能
- python - 为什么我的 django 应用程序在程序执行后保留变量
- c++ - Visual Studio:项目的设计时构建失败
- firebase - 邮件验证(Firebase)后如何跟踪源/媒体?
- python - 将两个数据框的两个图合并为一个图
- c++ - C++:即使条件不成立,“While”也会继续执行