2014-10-17 29 views
0

我有以下幾點:如何在Linux上使用open()和Python追加模式AND seek()?

with open(file, 'a') as log: 

    #A bunch of code, some of it writes to log. 

    log.seek(0) 
    log.write(time.strftime(t_format)) 

尋求()不追加工作,如果我使用「W」,那麼該文件的開頭被覆蓋。在文檔中,它說,「...'一個'附加(在一些Unix系統意味着所有寫入追加到文件的末尾,無論當前的搜索位置)」

有什麼方法可以重寫這個?

+4

在我聽說過的任何文件系統上,不可能追加到文件的開頭。你需要用你想要「追加」的東西寫一個新文件,然後添加文件中的內容。 – geoffspear 2014-10-17 13:24:56

回答

0

的第二個參數尋求允許尋求相對於文件的末尾:

with open(filename, 'w') as log: 
    log.seek(0, 0) 
    log.write(time.strftime(t_format)) 

你也應該考慮使用Python的日誌記錄模塊寫日誌。

+0

這會導致頂部數據覆蓋。 – p014k 2014-10-17 13:56:01

相關問題