2 回答

TA贡献1798条经验 获得超3个赞
您需要(可能)读取整个文件,然后才能决定是否必须将其添加到文件中。target_name
def write_to_logbook(target_name):
fname = r'C:\Documents\logbook.txt')
with open(fname) as f:
if any(target_name in line for line in f):
return
with open(fname, 'a') as f:
print(target_name, file=f)
any一旦找到包含的任何行,就会返回,此时函数本身将返回。Truetarget_name
如果在读取整个文件后找不到目标名称,则第二个语句会将目标名称附加到文件中。with

TA贡献1780条经验 获得超4个赞
我把它整理好了。我使用chepner的解决方案作为起点,因为它并不完全有效(出于某种原因只写了一个),并且有点混合了两者:target_name
def write_to_logbook(target_name):
fname = 'filepath'
with open(fname) as f:
for lines in f:
if target_name in lines:
return
with open(fname, 'a+') as f:
f.write(target_name + '\n')
感谢您的解决方案,它有所帮助。
添加回答
举报