zdałem sobie sprawę, że kiedy piszę do pliku przy użyciu Pythona to czekać aż do końca mojego pliku Pythona, aby go wykonać:Python 2.7: Zapis do pliku natychmiast
outputFile = open("./outputFile.txt","a")
outputFile.write("First")
print "Now you have 10sec to see that outputFile.txt is still the same as before"
time.sleep(10)
outputFile.write("Second")
print "Now if you look at outputFile.txt you will see 'First' and 'Second'"
Jak ja przypuszczam, aby Pythona zapisu natychmiast do pliku wyjściowego?
Dziękuję, druga opcja jest najlepsza dla mnie, ponieważ nie chcę pisać outputFile.flush() za każdym razem, ale obie działają. – elbajo
Zamiast pozostawić plik otwarty podczas operacji czasochłonnych, warto rozważyć instrukcję with, która wykona to samo. – nachshon
@nachshon "wykonaj to samo": nie dla mnie w moim systemie (RHEL 6.8 z [conda] (https://en.wikipedia.org/wiki/Conda_ (package_manager)) na Pythonie 2.7.13). Wywołanie 'os.fsync()' wspomniane w odpowiedzi [ffeast] (https://stackoverflow.com/a/41506739/257924) jest wymagane (nie można powiedzieć na pewno w przypadku Pythona opartego na systemie Microsoft Windows lub innych systemach operacyjnych)). – bgoodr