0
我正在編寫一個程序,按順序執行一組任務。每個任務都是輸出新文件的函數,但如果文件名已存在,則不應執行任何給定的任務。我發現自己寫這種代碼一遍又一遍:修飾器在Python中創建一系列連續的任務?
task1_fname = task1()
# come up with filename for next task
task2_fname = "task2.txt"
if not os.path.isfile(task2_fname):
# task2 might depend on task1's output, so it gets task1's filename
task2(task1_fname)
task3_fname = "task3.txt"
if not os.path.isfile(task3_fname):
task3(...)
的基本想法是,如果一個文件存在(理想情況下非空),那麼你不應該執行生成此文件的任務。
什麼是最好的Pythonic表達方式,而不必每次都要寫os.path.isfile
調用?裝飾者可以更簡潔地表達這一點嗎?或沿線的東西:
with task2(task1_fname):
# continue to next task
任何想法?