shutil - 高级文件操作

该shutil模块对文件和文件集合提供了许多高级操作。特别是,提供了支持文件复制和删除的功能。

文件复制到其他文件夹操作

shutil.copyfile(src, dst):将名为src的文件的内容(无元数据)复制到名为dst的文件中 。 dst必须是完整的目标文件名
注意:所谓完整目标文件名包含了两层含义:

  1. dst(destination)必须含有你复制过去的文件路径,创建路径时需要检查文件夹是否存在。
  2. dst中必须包含你想要创建的文件名。
    简单来说,它其实是将源数据复制到在目标文件夹的文件中!,所有如果没有文件路径时,需要你先通过os.mkdir("path")创建路径,然后在此路径下给出你想要的文件名。

一般情况下,我们应该会遇到这种问题,我们想直接将文件复制过去(类似Ctrl+C,Ctrl+V的操作),而在python中你需要进行以下操作:

  1. 先获取源文件的文件名(包括后缀),将此名给dst,才算创建好dst。
  2. 再进行copyfile操作

实例(部分代码)

argetdir_path = 'W:\Solar Radiation\Data\Data_original\Temp_data\梯度塔结果\\' + upfile
Targetfile_path = 'W:\Solar Radiation\Data\Data_original\Temp_data\梯度塔结果\\' + upfile + '\\' + data_name
if not os.path.exists(Targetdir_path):
	os.mkdir(Targetdir_path)
shutil.copyfile(file, Targetfile_path)