在python腳本中,我使用difflib.unified_diff()
函數來接收兩個文件的差異。接着,將這個example,我叫writelines()函數在屏幕上書寫結果:Python:writelines()第二次調用返回空
diff = difflib.unified_diff(....)
sys.stdout.writelines(diff)
於是,我也想寫在一個文件的不同,但是我收到一個空文件。這裏出現了一個奇怪的部分:如果我交換兩個writelines()調用的順序,我會得到一個正確的文件,但是屏幕輸出爲空。同樣的問題也可以通過調用最後一個命令兩次來重現,如下所示:
diff = difflib.unified_diff(....)
sys.stdout.writelines(diff)
sys.stdout.writelines(diff)
這將只打印diff一次。
我想第二次函數繼續從差異的相同(即最後一個)「行」,並沒有任何東西要寫。所以,必須有某種迭代器需要重置,但我找不到什麼以及如何...
非常感謝您的即時答覆!有效! :-D – MakisH