在python中调整字节大小
我从磁盘读取文件,若文件大小小于256字节,我需要对其进行扩展。有些人认为:在python中调整字节大小,python,file,Python,File,我从磁盘读取文件,若文件大小小于256字节,我需要对其进行扩展。有些人认为: data = open("test.txt", "rb").read() if ( len(data) < 256 ): data.resize( 256 ) # Fill with zeroes or something data=open(“test.txt”、“rb”).read() 如果(长度(数据)
data = open("test.txt", "rb").read()
if ( len(data) < 256 ):
data.resize( 256 ) # Fill with zeroes or something
data=open(“test.txt”、“rb”).read()
如果(长度(数据)<256):
数据。调整大小(256)#用零或其他东西填充
但由于字节是不可变的类型,所以并没有任何类似于resize方法的方法
我不需要修改原始文件,我需要len(数据)不小于256以便进一步处理。对于str和字节,您可以使用
zfill
:
data = b'abc'
data = data.zfill(20) # or 256 in your case
print(data)
# b'00000000000000000abc'
注意:如果数据长度已经是256(或您使用的任何值)或更多,zfill
将返回原始对象
文档:您可以对str和字节使用
zfill
:
data = b'abc'
data = data.zfill(20) # or 256 in your case
print(data)
# b'00000000000000000abc'
注意:如果数据长度已经是256(或您使用的任何值)或更多,zfill
将返回原始对象
文档:如果要使用空格扩展它:
data = open("test.txt", "rb").read()
padding_character = ' ' # space
data += padding_character*(256-len(data))
如果要使用空格对其进行扩展:
data = open("test.txt", "rb").read()
padding_character = ' ' # space
data += padding_character*(256-len(data))
padding\u character=b'\0'
可能更符合预期。padding\u character=b'\0'
可能更符合预期。但他们是想在左侧还是右侧填充?还有文字'0'
或空字节b'\0'
?@markransem:这确实不清楚,但我的答案符合问题中含糊不清的“用零填充或其他东西填充”要求。我只是指出其中的模糊性,而不是为此指责你。但由于它是一个二进制文件,我会做出不同的假设。我需要从右边填充新数据,而不是从左边填充,我想ljust是我想要的,但他们是想从左边填充还是从右边填充?还有文字'0'
或空字节b'\0'
?@markransem:这确实不清楚,但我的答案符合问题中含糊不清的“用零填充或其他东西填充”要求。我只是指出其中的模糊性,而不是为此指责你。但由于它是一个二进制文件,我会做出不同的假设。我需要从右边而不是左边填充新数据,我想ljust就是我要找的