将随机文件复制到另一个位置(python)

时间:2018-05-11 18:30:48

标签: python python-3.x file

我想从文件夹中获取一个随机文件并将其复制到另一个文件夹;

所以,我得到文件夹中的文件

root_src = 'D:\Downloads'
files = os.listdir(root_src)
file = random.choice(files)
new_root = os.path.join(root_src, 'new') 

copyfile(file, new_path) 

我收到以下错误:

 FileNotFoundError: [Errno 2] No such file or directory: 'file-12.jpg'

所以,我猜当我做random.choice时我没有得到路径

2 个答案:

答案 0 :(得分:3)

当您致电os.listdir时,会返回该文件夹中文件的名称列表。

它不会将这些文件名连接到目录路径(设计选择的结果是将字符串伪装成没有任何显式Path对象的路径的Java)。

无论出现什么问题,都需要加入它们。为此,from os import path并调用path.join(root_src, file)

请注意,如果您使用path作为变量名称,则不应该这样做。相反,import os并调用os.path.join(root_src, file)

答案 1 :(得分:0)

使用以下代码

import os
root_src = 'D:\Downloads'
files = os.listdir(root_src)
file = random.choice(files)
new_root = os.path.join(root_src, 'new') 

copyfile(os.path.join(root_src, file), new_path)