1
我想寫一個字符串到一個文件,只要它現在不在文件中。有效的方式來有條件地寫入文件?
我的第一個想法是做這樣的事情,但它沒有寫入任何文件。
with open("FILE PATH", "a+") as database:
for lines in database.read():
if 'MY STRING' in lines:
continue
else:
database.write('MY STRING')
首先,我在做什麼錯在這裏?其次,假設這是正常運作,是否會有更有效的方法來做到這一點?我假設有。
感謝
'database.read()'將返回一個字符串,因此循環遍歷它將遍歷該字符串中的每個字符。嘗試在database.read()中使用'if'MY STRING''而不是 – TheGirrafish
如果文件爲空,'.read()'返回一個空字符串,所以for循環的主體永遠不會執行。因爲只有當文件不是空的時候,代碼纔有效,因爲你總是閱讀整個文件,即使'我的字符串'出現在前面。告訴我們你想要什麼以及該文件應該如何結構化,因爲'lines'有點暗示... – dhke
@TheGirrafish你的實現工作。 – Harrison