Python如何避免檔案同名產生覆蓋
阿新 • • 發佈:2020-06-10
在一些不多的資料下載和生成的時候,我們傾向於直接儲存為檔案,當我們修改某些引數後再一次執行時,之前執行時生成的檔案就被覆蓋了。為了解決這個問題,這裡提供幾個解決方案。
1. 判斷檔案是否存在;
2. 判斷是否帶有”0)“這種數字帶括號的格式;
3. 檔名新增”(0),(1),(2)….“之類的編號。
以下是程式碼:
import os import re def auto_save_file(path): directory,file_name = os.path.split(path) while os.path.isfile(path): pattern = '(\d+)\)\.' if re.search(pattern,file_name) is None: file_name = file_name.replace('.','(0).') else: current_number = int(re.findall(pattern,file_name)[-1]) new_number = current_number + 1 file_name = file_name.replace(f'({current_number}).',f'({new_number}).') path = os.path.join(directory + os.sep + file_name) return path
如果使用如下建立檔案的程式碼測試:
path = r'D:\test.txt' for i in range(10): with open(auto_save_file(path),'w') as f: f.write('This is a test!')
結果如下:
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。