Python - 重命名特定文件
Python - Rename specific file
我需要能够重命名文件,不断增加文件末尾的数字,而不删除以前的版本。原来的思路是
file_path1 = "path/to/file/OLDqueues.sqlite"
try:
os.remove(file_path1)
except OSError as e:
print("Error: %s : %s" % (file_path1, e.strerror))
try:
os.rename(r'path\to\file\queues.sqlite', r'path\to\file\OLDqueues.sqlite')
except OSError as e:
print("Error: %s : %s" % (file_path1, e.strerror))
但是,我被告知我们不能在此过程中删除 OLDqueues 文件。将文件重命名为 OLDqueues 的最佳方法是什么,但如果 OLDqueues 已经存在 - 它会自动重命名为 OLDqueues(1),然后是 OLDqueues(2),等等?
作为参考,我使用的是 Python 3.7,这将应用于不同位置的两个文件,但不得影响目录中的任何其他文件。
如果你不想删除旧文件,只保存增量版本,我不知道你为什么要删除那个文件?
这是我过去的实现方式:
if os.path.exists(file_path1):
file_path2 = ## insert file name increment logic here
# copy file as described in the link below using shutil
我需要能够重命名文件,不断增加文件末尾的数字,而不删除以前的版本。原来的思路是
file_path1 = "path/to/file/OLDqueues.sqlite"
try:
os.remove(file_path1)
except OSError as e:
print("Error: %s : %s" % (file_path1, e.strerror))
try:
os.rename(r'path\to\file\queues.sqlite', r'path\to\file\OLDqueues.sqlite')
except OSError as e:
print("Error: %s : %s" % (file_path1, e.strerror))
但是,我被告知我们不能在此过程中删除 OLDqueues 文件。将文件重命名为 OLDqueues 的最佳方法是什么,但如果 OLDqueues 已经存在 - 它会自动重命名为 OLDqueues(1),然后是 OLDqueues(2),等等?
作为参考,我使用的是 Python 3.7,这将应用于不同位置的两个文件,但不得影响目录中的任何其他文件。
如果你不想删除旧文件,只保存增量版本,我不知道你为什么要删除那个文件?
这是我过去的实现方式:
if os.path.exists(file_path1):
file_path2 = ## insert file name increment logic here
# copy file as described in the link below using shutil