• Как сделать, что бы при перемещении файлов они не заменялись?

    KhanZet
    @KhanZet Автор вопроса
    Я знаю, что скорее всего можно сделать лаконично и красиво.
    Но у меня получилось так, вроде работает
    def file_again(file, dr):
        file_name = file.split('.')[0]
        file_ext = file.split('.')[1]
        list_dir = os.listdir(f"D:\Downloads\\{dr}")
        for i in range(len(list_dir)):
            list_dir[i] = list_dir[i].split('.')[0]
        print(list_dir, file_name)
        count = 1
        if file_name in list_dir:
            if file_name.find('(') and file_name.find(')') == -1:
                file_name += '(1)'
        while file_name in list_dir:
            if file_name.find('(') and file_name.find(')') != -1:
                file_name = file_name[:file_name.find('(')] + '(' + str(count+1) + ')'
                count += 1
        file_new = file_name + '.' + file_ext
        return file_new
  • Как сделать, что бы при перемещении файлов они не заменялись?

    KhanZet
    @KhanZet Автор вопроса
    import os
    import shutil
    # import calendar
    
    os.chdir(r"D:\Downloads")
    dirs = ['Изображения', 'Видео', 'Торрент', 'Установщики', 'Zip', 'Аудио(Музыка)', 'Остальное', 'Text']
    for name in dirs:
        if os.path.isdir(name):
            continue
        os.mkdir(r"{}".format(name))
    
    swaps = True
    while True:
        swaps = False
        for file in os.listdir():
            if os.path.isfile(file):
                if os.path.splitext(file)[1] == '.txt':
                    shutil.move('D:\Downloads\\' + file,'D:\Downloads\Text\\' + file)


    Вариант, где я использовал shutil