python編程中,經常需要處理文件讀寫操作。with語句是確保文件安全關閉的最佳實踐,但如果目標文件不存在,直接使用with語句會引發錯誤。本文介紹如何利用pathlib模塊優雅地解決這個問題,自動創建不存在的文件。
文件不存在的情況可能包含兩種:文件本身不存在,或者其所在目錄不存在。代碼需要同時處理這兩種情況。
以下代碼片段演示了如何使用pathlib模塊創建不存在的文件,并使用with語句安全地進行文件操作:
from pathlib import Path # 目標目錄 target_dir = Path("./foo/bar") # 創建目錄,如果不存在且父目錄存在則創建 target_dir.mkdir(parents=True, exist_ok=True) # 目標文件 target_file = target_dir / "test.txt" # 創建文件,如果不存在則創建,存在則不操作 target_file.touch() # 使用with語句寫入文件 with target_file.open("w") as f: f.write("...") # 更高級的 r+ 模式,建議有一定經驗后使用 # ...
代碼首先定義目標目錄和文件路徑。mkdir(parents=True, exist_ok=True)確保目標目錄及其所有父目錄都存在,exist_ok=True參數避免了目錄已存在的錯誤。touch()方法創建文件,如果文件已存在則不會報錯。最后,with語句安全地打開文件并寫入內容。 這種方法比先檢查文件是否存在再創建更簡潔高效。
立即學習“Python免費學習筆記(深入)”;
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END