在python中调整字节大小

在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() 如果(长度(数据)

我从磁盘读取文件,若文件大小小于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()
如果(长度(数据)<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就是我要找的