Python 使用shutil()复制特定文件

Python 使用shutil()复制特定文件,python,shutil,Python,Shutil,我有一个包含7500张图片的文件夹。我需要使用Python中的shutil模块将前600个图像复制到一个新文件夹中 我试图在网上寻找相关的东西,但是路径的使用有点混乱。我的命令序列应该是什么?我想它会像这样开始: import os import shutil l=os.listdir(path) for file in l[0:600]: 编辑:在澄清了shutil.copy()的作用后,我想到了: import os import shutil l=os.listdir(path) for

我有一个包含7500张图片的文件夹。我需要使用Python中的shutil模块将前600个图像复制到一个新文件夹中

我试图在网上寻找相关的东西,但是路径的使用有点混乱。我的命令序列应该是什么?我想它会像这样开始:

import os
import shutil
l=os.listdir(path)
for file in l[0:600]:
编辑:在澄清了
shutil.copy()
的作用后,我想到了:

import os
import shutil
l=os.listdir(path)
for file in l[0:600]:
    shutil.copy(file, destination, *, follow_symlinks = True)
但是它在*后面突出显示逗号,并在关键字argumentunpacking之后给出错误
iterable参数unpacking
。语法出了什么问题?

那么,
os.listdir()
将返回随机排序的文件,您可以做的一件事是,您可以对每个文件调用
os.stat(file).st_mtime
,该文件将返回上次修改文件时的时间戳,然后您可以在该时间之前对文件进行排序,以获得第一个/最后一个文件。但这实际上取决于您的用例以及如何解释第一个文件。但说到shutil图书馆,您可以直接拨打:

for file in l[0:600]:
    shutil.copy(file, f'./destination/{file}')
它将把600个文件复制到您当前目录中名为“destination”的目录中。

os.listdir(path)
将列出您正在搜索的目录中的文件和子目录

我假设您的所有文件都是
.jpg
,因此我将使用
glob
模块

导入全局
path=“D:Pictures\*.jpg”
目的地=r“E:\new\u图片\\”
files=glob.glob(路径)
对于已排序(文件)[:600]中的f:
shutil.副本(f,目的地)

前600个数字是多少?i、 e.您如何对它们进行排序?它们被命名为0000、00010002…JPG文件在目录中没有定义的顺序,因此您必须执行类似于按名称排序的操作,以获得一个顺序(否则顺序是随机的)。您在编辑中遇到错误是因为
*
-为什么要将它粘贴在那里,因为它没有任何意义。请删除*,。它们用于您未使用的参数。您能否提供shutil.copy()的确切语法?jsut remove*从您在编辑中提供的代码中删除