Python 将文件从多个文件夹复制到另一个文件夹

Python 将文件从多个文件夹复制到另一个文件夹,python,copy,Python,Copy,我有一个名为Reports的文件夹,其中包含多个文件夹ID1、ID2、ID3…等等。 每个文件夹都有一个json报告。现在我想将所有这些json报告复制到一个名为Input的文件夹中 import os import sys import shutil list={} list=os.system("find /home/admin1/Report -name '*.json'") print list for i in list: os.system('cp i /home/adm

我有一个名为Reports的文件夹,其中包含多个文件夹ID1、ID2、ID3…等等。 每个文件夹都有一个json报告。现在我想将所有这些json报告复制到一个名为Input的文件夹中

import os 
import sys
import shutil
list={} 
list=os.system("find /home/admin1/Report -name '*.json'")
print list
for i in list:
    os.system('cp i /home/admin1/Input')
这会产生以下错误:
TypeError:“int”对象不可编辑

这里有很多问题

  • 您正在重新定义Python的内置
    list
    函数,并将其定义为一个变量,其中包含一个空字典(甚至不是列表)

  • 然后,您扔掉这个空字典,并根据
    os.system(“find/home/admin1/Report-name'*.json')
    重新定义
    list
    。这不是你想要的,因为
    os.system
    返回一个整数()。看起来您希望它返回一个结果列表

  • 然后,您尝试使用
    for
    循环来迭代该整数,这就是导致
    类型错误的原因

  • os.system('cp i/home/admin1/Input')
    (由于上述错误,您的程序永远无法访问该系统)实际运行
    cp i/home/admin1/Input
    ,您不能用
    “i”
    替换变量
    i
    的值


  • 与其使用os.system来运行
    find
    ,不如使用Python的
    os.walk
    (请参阅)自己遍历目录树,而不是试图手动解析
    find

    的输出,使用
    os
    glob
    模块来获取目录列表。使用json