昨天我问了一个关于文件流方法What is the Python equivalent to FileStream in C#?的类似问题,但我现在意识到我应该可能已经问过.read函数了。
对于上下文,我尝试使用soap API的流式响应,该API应输出CSV文件。响应输出一个以base 64编码的字符串,我不知道该怎么做。此外,api文档说必须将响应读取到目标缓冲区。
以下是代码中的上下文。代码由api的文档提供:
byte[] buffer = new byte[4000];
bool endOfStream = false;
int bytesRead = 0;
using (FileStream localFileStream = new FileStream(destinationPath, FileMode.Create, FileAccess.Write))
{
using (Stream remoteStream = client.DownloadFile(jobId, chkFormatAsXml.Unchecked))
{
while (!endOfStream)
{
bytesRead = remoteStream.Read(buffer, 0, buffer.Length);
if (bytesRead > 0)
{
localFileStream.Write(buffer, 0, bytesRead);
totalBytes += bytesRead;
}
else
{
endOfStream = true;
}
}
}
}
任何帮助都会非常感激,即使它只是指向正确的方向,因为我现在非常迷失。我还有另外一个问题,现在引用同样的问题。 Write Streamed Response(file-like object) to CSV file Byte by Byte in Python
答案 0 :(得分:0)
看起来bytesread = len(openfile.read(4000))
是复制bytesRead = remoteStream.Read(buffer, 0, buffer.Length);
感谢DYZ