在Python中将字符串截断为特定的字节数

时间:2016-12-03 16:03:51

标签: python string

如何将字符串截断为不超过50个字节?

a = 'asdfzx안녕하세요awelkjawletjawetr방갑습니다.dlgawklejtwgasdgsdfgd
sdfasdfsdafa궁금해요rewgargasregawergedrhsedhesrdhrthdrfjydjdrktydjdyj'
max = 50byte
a = max(a)

2 个答案:

答案 0 :(得分:0)

您可以使用getsizeof()来获取大小,然后将其放入if语句中进行检查。getsizeof()以字节为单位返回对象的大小。希望我的示例为您提供一个想法:

from sys import getsizeof
a = '4200547985984359347509gbrtbhrtbrtbargrefefwefwef'
b =  'hello'
if getsizeof(a.encode('ascii')) > 50 :
    print("Error:a")
if getsizeof(b.encode('ascii')) > 50 :
    print("Error:b")

答案 1 :(得分:0)

如果每个字节编码使用一个字符,则可以使用切片:

a = 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'

a[:50]
'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'

请注意,只有在某处写这篇文章才有意义。如果python对象表示的大小在你的用例中更有意义,@ Achilles的答案应该有效。