例如,我得到一个字符串:
我想将它写入文件。
但在将字符串写入文件之前,我需要知道字符串的大小。有什么函数可以用来计算字符串的大小?
str = "please answer my question"
我想将它写入文件。
但在将字符串写入文件之前,我需要知道字符串的大小。有什么函数可以用来计算字符串的大小?
str = "please answer my question"
如果你想要获取字符串的长度,你可以使用len()
函数:
>>> s = 'please answer my question'
>>> len(s) # number of characters in s
25
如果你需要以字节为单位获取字符串的大小,你需要使用sys.getsizeof()
函数:
>>> import sys
>>> sys.getsizeof(s)
58
此外,不要将您的字符串变量命名为str
。这会遮盖内置的str()
函数。sys.getsizeof
返回 Python 对象在内存中占用的字节数。在任何情况下,这都不会对写入文件有用。 - Duncanlen(s.encode('utf8'))
或在写入文件时使用的任何其他编码方式。另外,如果他们还想要一个终止空值,那么就需要再加1个字节。 - Duncanuser225312的答案是正确的:
A.要计算str
对象中的字符数,可以使用len()
函数:
>>> print(len('please anwser my question'))
25
B. 要获取用于存储str
对象的内存大小(以字节为单位),您可以使用sys.getsizeof()
函数。
>>> from sys import getsizeof
>>> print(getsizeof('please anwser my question'))
50
在 Python 2 中,情况变得很复杂。
A. 在 Python 2 中,len()
函数返回用于存储 编码字符 的字节数。
有时它将等于字符数:
>>> print(len('abc'))
3
但有时候,它并不会:
>>> print(len('йцы')) # String contains Cyrillic symbols
6
这是因为 str
在内部可以使用可变长度编码。因此,要计算 str
中的字符数,您需要知道您的 str
对象正在使用哪种编码。然后,您可以将其转换为unicode
对象并获取字符数:
>>> print(len('йцы'.decode('utf8'))) #String contains Cyrillic symbols
3
B. sys.getsizeof()
函数在 Python 3 中和现在一样 - 它返回的是分配给存储整个字符串对象的字节数
>>> print(getsizeof('йцы'))
27
>>> print(getsizeof('йцы'.decode('utf8')))
32
>>> s = 'abcd'
>>> len(s)
4
data['name of column'].str.len()
string = input("Enter the string: ")
print("The string length is: ", len(string))
输出:
输入字符串:viral
字符串长度为:5
len()
。请记住,转义序列中的'\'字符不计入长度,如果使用不正确可能会有危险。>>> len('foo')
3
>>> len('\foo')
3
>>> len('\xoo')
File "<stdin>", line 1
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 0-1: truncated \xXX escape
name = "Steve Wozniak"
number = len(name.replace(" ", ""))
print(number)