2017-09-01 1 views
0

Ich versuche, einige C# -Code in Python zu konvertieren und stecken in C# 's Filestream-Klasse. Ein Filestream wird instanziiert, um in JPEG-Daten zu laden.Python entspricht C# FileStream Klasse

fs = new FileStream("./preview.jpg", FileMode.OpenOrCreate); 
while(true): 
    int length = socketServer.Receive(arrServerRecMsg); 
    int offset = arrServerRecMsg[2] * 256 + arrServerRecMsg[3]; 
    fs.Seek(offset * 1020, SeekOrigin.Begin); 
    fs.Write(arrServerRecMsg, 4, arrServerRecMsg.Length - 4); 

Später Vorschau gelesen:

FileStream fs = new FileStream("./preview.jpg", FileMode.Open); 
    byte[] data = new byte[fs.Length]; 
    fs.Read(data, 0, data.Length); 

wäre das Äquivalent von Python sein, Daten in ein Objekt geladen? Wie würde ich die Kompensation durchführen?

+1

Prüfung 'open' Methode. –

Antwort

1

Es ist nur open Methode in Python.

open("./preview.jpg", "w+") == new FileStream("./preview.jpg", FileMode.OpenOrCreate)

Es wird eine fileObject zurück.

+0

Danke! Sieht so aus, als hätte es sogar eine "seek" -Methode – Sam

+0

Um 'fs.Write (arrServerRecMsg, 4, arrServerRecMsg.Length - 4) zu replizieren;' wäre das 'fo.write (arrServerRecMsg [4:])' in python? – Sam