0

所以我正在尝试修改满足条件的文本文件中的多行。该行将以“Section”开头,然后我将对行进行一些修改,然后我想用新行替换旧行。目前我的代码看起来像这样,但收到以下错误“AttributeError:'str'对象没有属性'write'”

for f in glob.glob('*.svp'):
    print(f)
    with open(f,'r+') as ins:
        fileArray = []
        for line in ins:
            fileArray.append(line)
            if "Section" in line:
                lat = line[26:35]
                lineToKeep = line[:33] #Portion of line without lat.## lon, what will be amended
                latAmended = round(float(lat[7:])*0.6)
                latAmended = str(latAmended).zfill(2)
                lon = line[36:46]
                lonToKeep = lon[:-2]
                lonAmended = round(float(lon[8:])*0.6)
                lonAmended = str(lonAmended).zfill(2)
                goodStuff = lineToKeep + latAmended + ' '+ lonToKeep + lonAmended
                line = goodStuff
            f.write(line)
4

1 回答 1

1

请注意,您使用的是文件路径“f”(一个“str”对象)而不是文件对象“ins”本身。更改最后一行的变量应该可以解决问题:

            ins.write(line)
于 2019-12-05T22:56:20.337 回答