Как реплицировать C # 'byte' и 'Write' в Python

Для контекста я пытаюсь использовать потоковый ответ от soap API, который должен выводить CSV-файл. Ответ выводит строку, закодированную в базе 64, которую я должен записать в файл CSV.

Документация api говорит, что ответ должен быть прочитан буфером-буфером назначения, но я не знаком с c #, поэтому я не уверен в том, как реплицировать байт и писать в правильном контексте, чтобы сделать это.

Вот код, который я пытаюсь реплицировать. Код был предоставлен документацией 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; } } } } 

Мой текущий код python выглядит так:

 buffer = ??? bytesread = 0 with open('csvfile.csv','w') as file: #opens Pickle file with (open("data2.pkl", 'r+b')) as openfile: print openfile bytesread = len(openfile.read(4000)) if bytesread > 0: ????? 

Любая помощь будет очень признательна, даже если это просто указать мне в правильном направлении. У меня также было несколько вопросов, ссылающихся на эту же проблему.

Запись потокового ответа (файл-подобный объект) в файл CSV Byte by Byte in Python

Как реплицировать C # .read (buffer, 0, buffer.Length) в Python

ОБНОВИТЬ:

Теперь мой код выглядит так:

 import shutil with (open("data2.pkl", 'r')) as pklfile: with open('csvfile4.csv', 'wb') as csvfile: file.write(shutil.copyfileobj(pklfile,csvfile, 4000) 

К сожалению, это просто записывает код base64 буквально в файл csv, и я не уверен, как правильно декодировать