2 回答

TA貢獻(xiàn)1798條經(jīng)驗(yàn) 獲得超3個(gè)贊
您需要(可能)讀取整個(gè)文件,然后才能決定是否必須將其添加到文件中。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一旦找到包含的任何行,就會(huì)返回,此時(shí)函數(shù)本身將返回。Truetarget_name
如果在讀取整個(gè)文件后找不到目標(biāo)名稱,則第二個(gè)語句會(huì)將目標(biāo)名稱附加到文件中。with

TA貢獻(xiàn)1780條經(jīng)驗(yàn) 獲得超4個(gè)贊
我把它整理好了。我使用chepner的解決方案作為起點(diǎn),因?yàn)樗⒉煌耆行Вǔ鲇谀撤N原因只寫了一個(gè)),并且有點(diǎn)混合了兩者: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')
感謝您的解決方案,它有所幫助。
添加回答
舉報(bào)