通过python为字符串添加X零

时间:2013-08-22 12:54:54

标签: python python-2.7

我使用的是:

tmp=fileA.read(4)
outfile.write(tmp)

但是如果fileA到达结尾并且只剩下2个字节就会出现问题。在这种情况下,tmp的内容将是

xx (Not XXXX any more)

我想用x补偿缺失的x,所以它可能就像

xx00

当我写入文件outfile

问题是,我知道我可以使用功能

len(tmp)

要知道我需要添加多少0,有没有简单的方法来执行此添加操作?

我能想到

if len(tmp) == 2 : tmp = tmp + "00"
elif len(tmp) == 3: .......

但这是某种“愚蠢”的方法。

有没有办法像:

tmp << (4-len(tmp)) | "0000"

感谢您的帮助

2 个答案:

答案 0 :(得分:9)

Str具有您正在尝试的功能:

tmp=fileA.read(4)
tmp.ljust(4, '0')
outfile.write(tmp)

例如:

'aa'.ljust(4, '0') => 'aa00'

答案 1 :(得分:2)

查看简单程序,其中'1.txt'包含一些字节数据,我们每个读取4个字节。

fp1 = open("1.txt", "r") 
fp2 = open("2.txt", "w")

while True:
    line = fp1.read(4).strip()  if not line: # end of file checking          break
    # filling remaining byte with zero having len < 4
    data = line.zfill(4)[::-1]
    print "Writting to file2 :: ", data
    fp2.write(line)
fp1.close() 
fp2.close()