如何使用OS 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并将该文件保存在特定的文件夹中。

解决方法

在大多数操作系统中,重命名文件或目录意味着将它们移动到另一个位置。这就是* nix操作系统使用mv(移动)命令的原因。

在这种情况下,如果您希望保留原始文件,则无需重命名它们,而是可以使用新名称将它们复制到新目录中。

使用shutil模块复制文件的示例:

import shutil

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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...