在python中附加文件

2024-09-28 03:25:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个作业是处理固定长度的文件:

您将获得文件名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,而是将这一行添加到文件中,保留原来的行。 我不知道我的问题在哪里,有人能给我指出正确的方向吗?在


Tags: 文件indatalensysopenrecordstart
1条回答
网友
1楼 · 发布于 2024-09-28 03:25:37

在第8行打开文件,但在第20行再次打开之前不要关闭。尝试在第20行之前关闭,或者直接在第8行使用参数“a”打开。在

相关问题 更多 >

    热门问题