我有一个作业是处理固定长度的文件:
您将获得文件名p、名F、姓L和新的生日B
在p中加载固定长度的记录文件,在第一个搜索F,L并将birthday更改为B
P= sys.argv[1]
F= sys.argv[2]
L= sys.argv[3]
B= sys.argv[4]
recordlength = 40
record = [[]]
start = 0
file1 = open(P, 'r')
data = file1.read()
while( (len(data) - start) >= recordlength):
records= data[start:start + recordlength]
record.append(records)
start+= recordlength
for i in range(0,len(record)):
if F and L in record[i]:
rec = record[i]
rec = rec[:-8] + B
record[i] = rec
data = "".join(records)
file1 = open(P, 'a+')
file1.write(record[i])
file1.close()
我应该得到这个输出:
^{pr2}$我得到这个输出:
Adam Smith 11111985Theodore Anderson 03201990Monty Biscuit-Barrel 10181980Adam Smithers 10101960Ruthy Anderson 06062010Adam Smithers 00000000
它没有将这一行:adamsmithers 10101960替换为以下行:adamsmithers 00000000,而是将这一行添加到文件中,保留原来的行。 我不知道我的问题在哪里,有人能给我指出正确的方向吗?在
在第8行打开文件,但在第20行再次打开之前不要关闭。尝试在第20行之前关闭,或者直接在第8行使用参数“a”打开。在
相关问题 更多 >
编程相关推荐