要實現不覆蓋拷貝文件,可以使用 shutil 模塊中的 copy2() 函數。copy2() 函數會在拷貝文件時保留原文件的元數據,包括文件權限、最后修改時間等。
下面是一個示例代碼:
import shutil
# 源文件路徑
src_file = 'path/to/source/file.txt'
# 目標文件路徑
dst_file = 'path/to/destination/file.txt'
# 使用 copy2() 函數拷貝文件
shutil.copy2(src_file, dst_file)
這樣拷貝文件時,如果目標文件已經存在,則會自動在文件名后面添加一個數字編號,以避免覆蓋原文件。例如,如果目標文件已經存在,拷貝后的文件名可能會是 “file.txt.1”。