我製作了一個腳本,用於檢測位於特定目錄中的文件的更改。我正在嘗試將所有這些更改寫入changes.txt
文件。爲此我使用sys.stdout = open('changes.txt','w')
指令。檢測文件中的更改並將它們寫入文件
問題是,無論何時運行腳本並更改目錄中的文件並保存它,都會創建一個名爲changes.txt
的空文件。這個文件從來沒有寫過!
#!/usr/bin/python
import time
import sys
from watchdog.observers import Observer
from watchdog.events import FileSystemEventHandler
sys.stdout = open('changes.txt','w')
class MyHandler(FileSystemEventHandler):
def on_modified(self, event):
print "something happened!"
if __name__ == "__main__":
event_handler = MyHandler()
observer = Observer()
observer.schedule(event_handler, path='.', recursive=False)
observer.start()
try:
while True:
time.sleep(1)
except KeyboardInterrupt:
observer.stop()
你爲什麼不經常打開這個文件,並用'f.write()'來打開它? –
也許重寫你的打印功能可能會更好。否則,一般來說,要存儲任何腳本的輸出,我們使用'python.py> changes.txt'。 –
這很複雜... @NilsWerner – adaminspaceship