Python 重命名已存在的文件

Python 重命名已存在的文件,python,python-3.x,Python,Python 3.x,我在学习python和英语。我有一个问题可能很简单,但我解决不了。我有一个.txt文件夹,我能够通过正则表达式提取每个文件夹的数字序列。我用从.txt中提取的序列重命名每个文件 path_txt = (r'''C:\Users\user\Desktop\Doc_Classifier\TXT''') for TXT in name_files3: with open(path_txt + '\\' + TXT, "r") as content: search = re.s

我在学习python和英语。我有一个问题可能很简单,但我解决不了。我有一个.txt文件夹,我能够通过正则表达式提取每个文件夹的数字序列。我用从.txt中提取的序列重命名每个文件

path_txt = (r'''C:\Users\user\Desktop\Doc_Classifier\TXT''')

for TXT in name_files3:
    with open(path_txt + '\\' + TXT, "r") as content:
        search = re.search(r'(([0-9]{4})(/)(([1][9][0-9][0-9])|([2][0-9][0-9][0-9])))', content.read())

    if search is not None:
        name3 = search.group(0)
        name3 = name3.replace("/", "")
        os.rename(os.path.join(path_txt, TXT),
                  os.path.join("Processos3", name3 + "_" + str(random.randint(100, 999)) + ".txt"))
我需要检查文件是否已经存在,并通过添加增量重命名它。目前,为了区分文件,我在名称中添加了一个随机数(random.randint(100999))


PS:目前脚本通过正则表达式在.txt中找到“7526/2016”。删除“/”。将文件重命名为“75262016”+随机数(例如:7526016_111)。与使用随机数重命名不同,我想检查文件是否已经存在,并使用增量重命名它(例如:7526016_copy1、7526016_copy2)

下面的代码遍历当前工作目录中找到的文件,并查找基本文件名及其增量。一旦找到未使用的增量,它就会打开一个具有该名称的文件并写入该文件。因此,如果您已经有文件“foo.txt”、“foo1.txt”和“foo2.txt”,那么代码将生成一个名为“foo3.txt”的新文件

替换:

os.rename(
    os.path.join(path_txt, TXT),
    os.path.join("Processos3", name3 + "_" + str(random.randint(100, 999)) + ".txt")
)
与:


这篇文章可以解释如何检查python中是否存在文件。如果您可以在
TXT
目录中显示其中一个文件的内容,这将非常有用。检查文件是否存在的方法是或
os.path.isfile(path)
os.rename(
    os.path.join(path_txt, TXT),
    os.path.join("Processos3", name3 + "_" + str(random.randint(100, 999)) + ".txt")
)
fp = os.path.join("Processos3", name3 + "_%d.txt")
postfix = 0

while os.path.exists(fp % postfix):
    postfix += 1

os.rename(
    os.path.join(path_txt, TXT),
    fp % postfix
)