Wie erhält man die Größe einer Zeichenkette in Python?
Zum Beispiel, bekomme ich einen string:
str = "please answer my question"
Möchte ich schreiben es in eine Datei.
Aber ich muss wissen, die Größe der string vor dem schreiben des Strings in die Datei. Welche Funktion kann ich verwenden, um zu berechnen die Größe der Zeichenfolge?
InformationsquelleAutor der Frage babykick | 2011-02-11
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie sprechen über die Länge der Zeichenfolge, die Sie verwenden können,
len()
:Wenn Sie die Größe des Strings in Byte, die Sie benötigen,
sys.getsizeof()
:Auch nicht, rufen Sie Ihren string
str
. Es Schatten der eingebautestr()
Funktion.InformationsquelleAutor der Antwort user225312
Python 3.*:
Den user225312 s Antwort ist richtig:
A. Zu zählen die Anzahl der Zeichen in
str
Objekt, können Sie mitlen()
Funktion:B. Zu bekommen-memory-Größe in bytes für die Speicherung
str
Objekt, können Sie mitsys.getsizeof()
FunktionPython 2.*:
Es ist immer kompliziert, für Python 2.*.
A. Die
len()
Funktion in Python 2 gibt die Anzahl der bytes für die Speicherung codierte Zeichen in einemstr
Objekt.Manchmal wird es gleich sein, die Anzahl Zeichen:
Aber manchmal ist es nicht:
Weil
str
können variable-Länge-Kodierung intern. Also, um count Zeichen instr
sollten Sie wissen, welche Kodierung Ihrstr
Objekt. Dann können Sie es konvertieren, umunicode
Objekt und erhalten Anzahl Zeichen:B. Die
sys.getsizeof()
- Funktion macht das gleiche wie in Python 3 - es gibt die Anzahl der bytes für die Speicherung die ganze string-ObjektP. S. ich habe getestet, mein code-Beispiele unter Anaconda Python auf 32-bit-Windows -
InformationsquelleAutor der Antwort Igor Bendrup
InformationsquelleAutor der Antwort Michal Chruszcz
Den meisten Pythonic Möglichkeit ist die Verwendung der
len()
. Halten Sie im Verstand, dass das ' \ ' - Zeichen in escape-Sequenzen nicht gezählt und kann gefährlich sein, wenn nicht korrekt verwendet.InformationsquelleAutor der Antwort Robert Grossman