Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何将100个文件从一个文件夹复制到另一个文件夹?_Python - Fatal编程技术网

Python 如何将100个文件从一个文件夹复制到另一个文件夹?

Python 如何将100个文件从一个文件夹复制到另一个文件夹?,python,Python,我在一个文件夹中有一百万个文件,我只想从另一个文件夹中复制一百个文件: import os import shutil dir_src = ("/Big_Folder") dir_dst = ("/Small_Folder") for filename in os.listdir(dir_src): shutil.copy( dir_src + filename, dir_dst) print(filename) 这个脚本为我复制所有文件,如何复制100000个文件呢 为列

我在一个文件夹中有一百万个文件,我只想从另一个文件夹中复制一百个文件:

import os
import shutil

dir_src = ("/Big_Folder")
dir_dst = ("/Small_Folder")

for filename in os.listdir(dir_src):
    shutil.copy( dir_src + filename, dir_dst)
    print(filename)

这个脚本为我复制所有文件,如何复制100000个文件呢

为列表编制索引将允许您在第n次(本例中为i次)迭代中执行操作

import os
import shutil

dir_src = ("/Big_Folder")
dir_dst = ("/Small_Folder")

dirList = os.listdir(dir_src)
for i in range(len(dirList)):
  if i == 100:
    break
  shutil.copy(dir_src + dirList[i], dir_dst)
  print(filename)

只需对要迭代的列表进行切片:

for filename in os.listdir(dir_src)[:100]:
    ...

你到底想复制哪100个文件?有100个吗?100岁?按文件名字母顺序排列的前100个?还有什么?我不在乎哪一个,我只需要一百个文件来进行测试,例如第一个文件它可以工作,但在Python中不是很惯用:我们几乎从不在len(Something)中为I使用
,而是在enumerate(Something)中为I使用
或者只是反复浏览
一些东西
@Paulo Scardine你的方式看起来确实不错。如果速度是第一要务,我们就不会使用python,但是我会尽可能地编写速度更快的代码<代码>对于范围内的i(len(…)
要快得多(除非我弄错了)。我使用iPython
%timeit
对10000个元素的数组进行了
传递
来比较迭代时间。对于给定的硬件,py3.6上的最佳3次循环时间是
范围(len(…)
的346uS,枚举方法的1130uS。也许这值得一个新的帖子来更好地比较两者。