gpt4 book ai didi

Python cgi 和 stdin

转载 作者:行者123 更新时间:2023-12-01 00:00:48 25 4
gpt4 key购买 nike

我使用 pycurl 通过 put 上传文件,并使用 python cgi 脚本在服务器端接收文件。本质上,服务器端的代码是:

while True:
next = sys.stdin.read(4096)
if not next:
break
#.... write the buffer

这似乎适用于文本,但不适用于二进制文件(我在 Windows 上)。对于二进制文件,执行 stdin.read 的循环在收到 10kb 到 100kb 左右的任何内容后会中断。有什么想法吗?

最佳答案

您需要以二进制模式运行Python。更改您的 CGI 脚本:

#!C:/Python25/python.exe

或者它所说的任何内容:

#!C:/Python25/python.exe -u

或者您可以像这样以编程方式执行此操作:

msvcrt.setmode(sys.stdin.fileno(), os.O_BINARY)

开始从 stdin 读取之前。

关于Python cgi 和 stdin,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/838991/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com