如何将文件复制到Python脚本中的特定文件夹?

dra*_*d07 7 python filesystems copy file file-copying

我有一个存储在变量(例如)filePath中的文件的路径.我想将该特定文件复制到Python脚本中的另一个特定文件夹中.

我试过了

folderPath = (os.getcwd() + "/folder_name/") #to get the path of the folder
shutil.copyfile(filePath, folderPath)
Run Code Online (Sandbox Code Playgroud)

但是我收到了一个错误 IOError: [Errno 21] Is a directory.

我怎么解决这个问题?

我的问题似乎与如何在python中复制文件有关? .但实际上,我想将文件复制到文件夹/目录,而大多数答案都提到将一个文件复制到另一个文件.

Hen*_*ait 13

shutil.copy(filePath, folderPath)而不是shutil.copyfile().这将允许您指定文件夹作为目标,并复制包含权限的文件.

shutil.copy(src, dst, *, follow_symlinks=True):

将文件src复制到文件或目录dst.src和dst应该是字符串.如果dst指定目录,则使用src中的基本文件名将文件复制到dst中.返回新创建文件的路径.

...

copy()复制文件数据和文件的权限模式(参见os.chmod()).其他元数据(如文件的创建和修改时间)不会保留.要保留原始文件中的所有文件元数据,请改用copy2().

https://docs.python.org/3/library/shutil.html#shutil.copy

查看shutil.copyfile()本身记录的复制差异:

shutil.copyfile(src, dst, *, follow_symlinks=True):

名为src 的文件的内容(无元数据)复制到名为dst的文件中并返回dst.src和dst是以字符串形式给出的路径名.dst必须是完整的目标文件名; 查看shutil.copy()以获取接受目标目录路径的副本.如果src和dst指定相同的文件,则引发SameFileError.

https://docs.python.org/3/library/shutil.html#shutil.copyfile