Q
程序終止觸發代碼
1
A
回答
7
Python的os模塊怎麼樣?有一個「刪除()」方法來做你想做的。
處理您程序的退出,你可以使用atexit模塊。
實施例:
import os
def delete_file(name):
os.remove(name)
import atexit
atexit.register(delete_file, file_path)
FILE_PATH是刪除該文件。
6
1
Python提供對tempfiles
的支持(請參閱同名模塊)。當程序終止時,這些可能不能保證被刪除,但操作系統知道,只要需要(例如,在某些Unix上,每天晚上),它們可以在沒有通知的情況下被刪除。
1
這是一個更簡單的方法,似乎正常工作。我沒有在真實代碼中使用它,所以可能存在我不知道的缺點。來自更有經驗的Pythonistas的批評值得歡迎。
import sys
def main():
print('main')
sys.exit(0)
try:
main()
finally:
print('cleanup code goes here')
+0
或者你只是把try/finally放在'main()'裏面。如果文件是由主應用程序控制的,但是如果它們是庫的一部分,那麼這將起作用,那麼就需要使用'atexit'處理程序。 – ncoghlan 2011-03-27 12:00:05
相關問題
- 1. 從C終止外部程序++代碼
- 2. 阻止代碼並等待事件處理程序觸發?
- 3. nohup進程終止時觸發腳本
- 4. mysql不終止觸發器
- 5. 使用Java代碼終止/停止應用程序
- 6. 程序在後臺事件觸發時終止
- 7. 當應用程序終止時,每運行10分鐘運行代碼終止
- 8. 線程提前終止代碼255
- 9. Python終止進程退出代碼-1073741819
- 10. Yii2 - 觸發後從事件處理程序終止應用程序
- 11. Selenium代碼不會終止
- 12. RISC代碼循環終止
- 13. 程序終止時發生LoaderLock錯誤
- 14. objc_msg發送應用程序將終止
- 15. HttpClient.PostAsync終止退出代碼爲0的程序
- 16. 終止按鈕點擊應用程序的代碼(在iPhone中)
- 17. 從我的Cocoa代碼中終止一個應用程序
- 18. 在應用程序關閉時運行「終止」代碼
- 19. 當TaskManager或CMD終止應用程序時執行代碼
- 20. 如何在終止後運行swift代碼應用程序
- 21. 這段代碼爲什麼不終止我的程序? Java
- 22. 在去,有沒有辦法執行代碼終止程序?
- 23. C++程序終止
- 24. 終止scala程序?
- 25. 程序終止accept()
- 26. C程序終止
- 27. 程序,不終止
- 28. 「異常代碼:C0000005 ACCESS_VIOLATION」進行中應用程序,應用程序已終止
- 29. Java - Eclipse IDE,由指針異常終止程序終止程序
- 30. Boost線程終止程序?
你應該趕上os.remove可以提高異常(例如,如果在Windows上刪除正在使用的文件。)的 – Oddthinking 2011-03-27 13:00:46
是當然,這只是一個示例代碼;-) – 2011-03-27 13:03:08