我編寫了一個python腳本,其中有幾個print
語句。打印的信息可以幫助我監視腳本的進度。但是,當我將包含python my_script &> output
的bash腳本qsub添加到計算節點時,即使腳本正在運行並打印某些內容,輸出文件也不會包含任何內容。輸出文件將在腳本完成時包含輸出。所以當腳本運行時,如何通過輸出文件實時獲取輸出。輸出文件在腳本完成前不包含任何內容
回答
實際上寫入文件而不是在每次寫入之後或每次寫入後調用管道和刷新sys.stdout.flush()
但您最好使用記錄器功能並用日誌替換打印件。
從評論: 記錄程序的功能是一個你打電話,而不是打印,將輸出到某個地方的文本,可能時間戳和其他信息,他們通常讓你輸出的各種大量的信息,以各種目的地,包括標準輸出和文件。請參閱python 2或3文檔以獲取有關構建在日誌記錄功能中的python的信息。
嗨,史蒂夫,謝謝你的回覆。但我不明白記錄器功能的一部分。什麼是記錄器功能? – Negelis
記錄器功能是您調用的而不是打印的功能,它可以輸出到文本的某個地方,可能是時間戳和其他信息,它們通常允許您將各種數量的信息輸出到各種目標,包括標準輸出和文件。請參閱http://docs.python.org/2/library/logging.html或http://docs.python.org/3.3/library/logging.html以獲取有關在日誌中構建的pythons的信息。 –
我喜歡將數據寫入sys.stderr,有時候會出現這種情況。它避免了沖洗這麼多的需要。但是如果你有時候會爲管道生成輸出,那麼使用sys.stdout會更好。
- 1. 輸出到包含西里爾文內容的文本文件
- 2. 鏈接的內容文件不包括在TFS生成輸出
- 3. 將文本文件內容包含到WiX腳本中
- 4. 在Chrome擴展內容腳本中包含ttf文件
- 5. 在腳本中包含文件內容PHP
- 6. bash腳本在完成之前退出
- 7. e.tabIndex不包含任何內容..?
- 8. Google Apps腳本,腳本已完成但未返回任何內容
- 9. FFMPEG輸出文件不包含任何流[Android]視頻concat
- 10. FFMPEG輸出文件#0中不包含任何流
- 11. 包括內容和腳本文件夾
- 12. 使用shell腳本創建包含某些內容的文件
- 13. 包含文件內容php
- 14. 測試輸出不包含文本
- 15. 包含文件夾腳本
- 16. isinstance不輸出任何內容
- 17. PHP SimpleXML不輸出任何內容
- 18. imagettftext不會輸出任何內容
- 19. AutoHotkey:完成後不按任何鍵退出腳本
- 20. Bundler不包含腳本文件
- 21. 如何防止包含文件在PHP中生成輸出?
- 22. 如何在我的內容腳本完成DOM更改之前隱藏頁面?
- 23. Symfony2僅在包含某些內容時驗證文本輸入
- 24. 警告:文件不包含任何toctree的包含文件
- 25. 在JSP中包含文件的內容
- 26. 「腳本」命令的輸出文件的內容是神祕的
- 27. bash腳本寫文件輸出取決於內容
- 28. 將內容輸出到帶添加內容的文本文件
- 29. 在包含之前修改文件內容
- 30. 爲什麼在Session_Start()之前無法輸出任何內容?
http://mywiki.wooledge.org/BashFAQ/009 – tripleee