tôi nhận ra rằng khi tôi viết vào một tập tin sử dụng python nó đợi cho đến khi kết thúc của file Python của tôi để thực hiện nó:Python 2.7: Viết để nộp ngay lập tức
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'"
Làm sao tôi cho rằng để làm cho python ghi ngay lập tức vào tập tin đầu ra?
Cảm ơn bạn, tùy chọn thứ hai là tốt nhất cho tôi bởi vì tôi không muốn viết outputFile.flush() mỗi lần nhưng cả hai đều hoạt động. – elbajo
Thay vì để tệp mở trong các hoạt động chuyên sâu về thời gian, có thể đáng xem xét câu lệnh có thể thực hiện cùng một điều. – nachshon
@nachshon "thực hiện cùng một điều": không cho tôi trên hệ thống của tôi (RHEL 6.8 với [conda] (https://en.wikipedia.org/wiki/Conda_ (package_manager)) dựa trên Python 2.7.13). Cuộc gọi 'os.fsync()' được đề cập trong câu trả lời của [ffeast] (https://stackoverflow.com/a/41506739/257924) là bắt buộc (không thể nói chắc chắn đối với Python dựa trên Microsoft Windows hoặc của hệ điều hành khác)). – bgoodr