2024-10-02 00:28:58 发布
网友
我正在尝试复制和重命名一些具有绝对路径的PDF。你知道吗
即:c:\users\andrew\pdf\p.pdf被复制到c:\users\pdf\ORGp.pdf
c:\users\andrew\pdf\p.pdf
c:\users\pdf\ORGp.pdf
在目录p.pdf和ORGp.pdf中保留两个文件
p.pdf
ORGp.pdf
我在过去的一个小时里一直在研究这个问题,但我似乎无法解决它。你知道吗
有没有一种更像python的方法来完成这个任务,然后将字符串拆分成一个列表,并在最后一个元素上添加ORG之后重新加入它们?你知道吗
在Windows8上使用Python2.7。你知道吗
你可以试试
import os .......some logic..... os.rename(filename, newfilename)
你的问题有点模棱两可,但我还是会尽力回答的。你知道吗
这是一个python代码示例,它将在脚本开头指定的新名称下复制特定文件夹下的所有文件:
import os import shutil folder_name = "c:\\users\\andrew\\pdf" for root_folder, _, file_names in os.walk(folder_name): for file_n in file_names: new_name = os.path.join(root_folder, "ORG" + file_n) old_name = os.path.join(root_folder, file_n) print "We will copy at ", new_name, old_name shutil.copyfile(old_name, new_name)
此代码将复制并重命名绝对文件路径列表:
import os import shutil files_to_rename = ["c:\\users\\andrew\\pdf\\p.pdf", "c:\\users\\andrew\\pdf2\\p2.pdf"] for file_full_path in files_to_rename: folder_n, file_n = os.path.split(file_full_path) new_name = os.path.join(folder_n, "ORG" + file_n) print "We will copy at ", new_name, file_full_path shutil.copyfile(file_full_path, new_name)
我在MacOS上用Python2.7.7测试了这个脚本,但我认为它在Windows上也可以很好地工作。你知道吗
将字符串拆分为一个列表并重新连接(在从列表中删除'andrew'并在最后一个元素前面加上'ORG'之后)是一个非常python的方法。这是一个明确而明显的方法。你知道吗
您可以使用标准的str和list方法来完成。但是,os.path模块中有各种专用的文件路径操作函数,您应该熟悉这些函数,但是当您确定正在处理的所有文件名都正常时,str和list方法就可以了。os.path还有其他有用的与文件相关的功能:可以检查文件是否存在,是文件还是目录,获取文件的时间戳等
str
list
os.path
要在生成新名称后实际复制文件,请使用shutil.copyfile()。您可能还希望首先使用os.path.exists()检查文件是否已经存在。不幸的是,一些元数据在这个过程中丢失了,例如文件所有者,如shutil文档中的警告所述。你知道吗
os.path.exists()
shutil
你可以试试
你的问题有点模棱两可,但我还是会尽力回答的。你知道吗
这是一个python代码示例,它将在脚本开头指定的新名称下复制特定文件夹下的所有文件:
此代码将复制并重命名绝对文件路径列表:
我在MacOS上用Python2.7.7测试了这个脚本,但我认为它在Windows上也可以很好地工作。你知道吗
将字符串拆分为一个列表并重新连接(在从列表中删除'andrew'并在最后一个元素前面加上'ORG'之后)是一个非常python的方法。这是一个明确而明显的方法。你知道吗
您可以使用标准的
str
和list
方法来完成。但是,os.path模块中有各种专用的文件路径操作函数,您应该熟悉这些函数,但是当您确定正在处理的所有文件名都正常时,str
和list
方法就可以了。os.path
还有其他有用的与文件相关的功能:可以检查文件是否存在,是文件还是目录,获取文件的时间戳等要在生成新名称后实际复制文件,请使用shutil.copyfile()。您可能还希望首先使用
os.path.exists()
检查文件是否已经存在。不幸的是,一些元数据在这个过程中丢失了,例如文件所有者,如shutil
文档中的警告所述。你知道吗相关问题 更多 >
编程相关推荐