替换文件中以字符串开头(如果存在)的行,如果不存在则添加

时间:2019-04-14 11:43:04

标签: python-2.7

我创建了代码来检查以字符串开头的行是否存在以及是否存在更新以及是否添加。 它可以工作,但我认为它可能还有另一种方法,而不是打开文件并关闭它三遍!

我的文字是(尝试)

UIViewPropertyAnimator

和我尝试的代码:

LINE1, 1111111
LINE2, 2222222
LINE4, 4444444 
LINE3, 4444444 

1 个答案:

答案 0 :(得分:0)

如何?

linename = 'LINE3'
num = 3333333

with open('try', 'r', encoding='utf8') as f:
    lines = f.readlines()

found = False
for i, line in enumerate(lines):
    if line.startswith(linename):
        lines[i] = "{0}, {1}".format(linename, num)
        found = True
        break

if not found:
    lines.append("{0}, {1}".format(linename, num)

with open('try', 'w', encoding='utf8') as f:
    f.writelines(lines)

下一个合理的步骤是从中创建一个函数:

def store_in_file(filename, linename, num):
    # ... the above ...


store_in_file('try', 'LINE3', 3333333)