Как сохранить переименованный файл с помощью os python

#python #save #file-rename

#python #Сохранить #файл-переименовать

Вопрос:

Я создаю несколько PDF-файлов веб-страниц, поэтому каждый раз, когда создается PDF-файл, я хочу переименовать его и сохранить этот конкретный файл. Но мой код переименовывает файлы по мере их создания, но удаляет предыдущий файл. Ниже приведен мой скрипт:

 os.chdir(new_path)
    files = filter(os.path.isfile, os.listdir(new_path))
    files = [os.path.join(new_path, f) for f in files] # add path to each file
    files.sort(key=lambda x: os.path.getmtime(x))
    newest_file = files[-1]
    # os.path.join(new_path,search   str(photoid)   str(seaid_destination)   ".pdf",newest_file)
    os.rename(newest_file, search   str(photoid)   str(seaid_destination)   ".pdf")
  

Он переименовывает его правильно, но удаляет более ранние файлы, чтобы узнать, как сохранить этот переименованный файл. Я пытался os.path.join , но файлы не сохраняются.
Файл, который нужно сохранить, является newest_file
Изначально сгенерированный файл является, Google.pdf поэтому я хочу переименовать его как 1.pdf и сохранить этот файл в определенной папке.

Комментарии:

1. Вы хотите скопировать вместо переименования файла (ов)?

2. я хочу переименовать созданные файлы и сохранить эти переименованные файлы.

3. или сохранить файлы

4. Покажите нам файлы до и после запуска скрипта и как это должно быть вместо этого!

5. используете ли вы одно и то же имя для всех файлов или оно меняется в зависимости от каждого файла?

Ответ №1:

В большинстве операционных систем переименование файлов или каталогов означает их перемещение в другое место. Вот почему в операционных системах * nix используется mv команда (переместить).

В вашем случае, если вы хотите, чтобы ваш исходный файл остался, вместо того, чтобы переименовывать их, вы можете скопировать их в новый каталог с новым именем.

Пример копирования файла с использованием shutil модуля:

 import shutil

shutil.copyfile('originalfile.pdf', 'newfile.pdf')
  

Комментарии:

1. Но я хочу переименовать его, а затем переместить