programing tip

파이썬에서 문자열의 크기를 얻는 방법?

itbloger 2020. 6. 19. 19:53
반응형

파이썬에서 문자열의 크기를 얻는 방법?


예를 들어 문자열을 얻습니다.

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()기능을 숨 깁니다 .


파이썬 3 :

user225312의 답변 이 맞습니다.

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

파이썬 2 :

파이썬 2에서는 복잡해집니다.

A.len() Python 2 함수는 인코딩 된 문자str객체 저장하기 위해 할당 된 바이트 수를 반환 합니다.

때로는 문자 수와 같습니다.

>>> print(len('abc'))
3

그러나 때로는 그렇지 않습니다.

>>> print(len('йцы'))  # String contains Cyrillic symbols
6

내부적으로 가변 길이 인코딩을str 사용할 수 있기 때문 입니다. 따라서 문자를 세 려면 객체가 사용 하는 인코딩을 알아야합니다 . 그런 다음 객체 로 변환하고 문자 수를 얻을 수 있습니다.strstrunicode

>>> 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

str.len ()을 사용하여 열의 요소 길이를 계산할 수도 있습니다

data['name of column'].str.len() 

가장 파이썬적인 방법은을 사용하는 것 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

참고 URL : https://stackoverflow.com/questions/4967580/how-to-get-the-size-of-a-string-in-python

반응형