Comment obtenir la taille d'une chaîne de caractères en Python?
Par exemple, je reçois une chaîne de caractères:
str = "please answer my question"
Je veux écrire dans un fichier.
Mais j'ai besoin de savoir la taille de la chaîne avant d'écrire la chaîne de caractères dans le fichier. Quelle fonction dois-je utiliser pour calculer la taille de la chaîne?
- "quelle fonction dois-je utiliser pour calculer la taille de la chaîne"? Ce tutoriel vous aide à apprendre le langage Python? Veuillez mise à jour la question avec quelques informations sur où et comment vous êtes en train d'apprendre le Python.
- j'apprends python par moi-même,maintenant, je sais que la len(str) peut retourner la taille de la chaîne,la taille dépend du code de la str.
Vous devez vous connecter pour publier un commentaire.
Si l'on parle de la longueur de la chaîne, vous pouvez utiliser
len()
:Si vous avez besoin de la taille de la chaîne en octets, vous devez
sys.getsizeof()
:Aussi, ne pas appeler votre variable de chaîne
str
. Il les ombres de l'intégré dansstr()
fonction.sys.getsizeof
renvoie le nombre d'octets de l'objet Python occupe dans la mémoire. Cela ne va pas être utile pour écrire dans un fichier en toutes circonstances.len(s.encode('utf8'))
ou tout autre codage est va être utilisé lors de l'écriture du fichier. Aussi, si ils veulent aussi une valeur null ils auront besoin pour ajouter 1 pour l'.Python 3.*:
La user225312 réponse est bonne:
A. Pour compter le nombre de caractères dans
str
objet, vous pouvez utiliserlen()
fonction:B. Pour obtenir la taille de la mémoire, en octets, allouée pour stocker
str
objet, vous pouvez utilisersys.getsizeof()
fonctionPython 2.*:
Ça devient compliqué pour Python 2.*.
A. La
len()
fonction en Python 2 renvoie le nombre d'octets alloués pour stocker caractères codés dans unstr
objet.Parfois, il sera égal au nombre de caractères:
Mais parfois, il ne sera pas:
C'est parce que
str
pouvez utiliser variable-length encoding en interne. Donc, pour compter les caractères dansstr
vous devez savoir ce qui l'encodage de votrestr
objet est l'aide. Ensuite, vous pouvez le convertir enunicode
objet et obtenir le nombre de caractères:B. La
sys.getsizeof()
fonction fait la même chose que dans Python 3 - elle renvoie le nombre d'octets alloués pour stocker l'ensemble de la chaîne de l'objetP. S. j'ai testé mon code d'échantillons en vertu de Anaconda Python sur Windows 32 bits
Vous pouvez également utiliser str.len() à compter de la longueur de l'élément dans la colonne
Les plus Pythonic façon est d'utiliser le
len()
. Gardez à l'esprit que le caractère '\' dans les séquences d'échappement n'est pas compté et peuvent être dangereux s'ils ne sont pas utilisés correctement.