Python 对象';功能';没有属性';文件';

Python 对象';功能';没有属性';文件';,python,Python,对不起,如果这是一个坏的一个,但,我在学习,而这样做,我做了无意义的事情 def singulateDataInDir(SRCdir): for root, dirs, files in os.walk(SRCdir, topdown=True): for name in files: filesInSRCdir = os.path.join(root, name) return filesInSRCdir

对不起,如果这是一个坏的一个,但,我在学习,而这样做,我做了无意义的事情

def singulateDataInDir(SRCdir):
    for root, dirs, files in os.walk(SRCdir, topdown=True):
        for name in files:
            filesInSRCdir = os.path.join(root, name)
            return filesInSRCdir
        for name in dirs:
            dirsInSRCdir = os.path.join(root, name)
            return dirsInSRCdir

def copyFilesFromSRCtoDEST(SRCdir, DESTdir):
    singulateDataInDir(SRCdir)  
    for files in singulateDataInDir.filesInSRCdir:
        shutil.copy2(files, DESTdir)
因此,在singulateDataInDir中,我只是将目录中的文件和文件夹分离并列出,然后在copyFilesFromSRCtoDEST中,我尝试使用shutil.copy2,然后将文件路径列表(我认为是filesInSRCdir)提供给它,并复制到新的目标。我得到了错误

Traceback (most recent call last):
  File "main.py", line 45, in <module>
    main(True)
  File "main.py", line 38, in main
    code.copyFilesFromSRCtoDEST(srcOpt, destOpt)
  File "/Users/jcrd/Documents/csProjects/pythonProjects/screenshotCollecting/code.py", line 32, in copyFilesFromSRCtoDEST
    for files in singulateDataInDir.files.filesInSRCdir:
AttributeError: 'function' object has no attribute 'files'
回溯(最近一次呼叫最后一次):
文件“main.py”,第45行,在
主(真)
文件“main.py”,第38行,在main中
code.copyFilesFromSRCtoDEST(srcOpt,destOpt)
copyFilesFromSRCtoDEST中的第32行文件“/Users/jcrd/Documents/csProjects/pythonProjects/screenshotcollection/code.py”
对于singulateDataInDir.files.filesInSRCdir中的文件:
AttributeError:“函数”对象没有属性“文件”

任何帮助都很好,谢谢

您必须调用函数(附加括号,必要时可能带有参数)才能接收结果并进一步使用它。错误消息表明您正在运行的代码与您发布的代码不同。您正在运行的代码具有
singulateDataInDir.files.filesInSRCdir
。您发布的代码具有
singulateDataInDir.filesInSRCdir
。尝试使您正在运行的代码与您发布的代码匹配。您不能仅使用点运算符从函数外部访问函数的局部变量。您必须像函数中的
singulateDataInDir.files=files
那样显式保存它们,这样才能访问它们。它们只会在你至少调用一次函数后才存在。我应该补充说,我在发布之前就已经对它进行了修补,我最初拥有并认为正确的方法就是我发布的,错误消息是当我调整它时,我认为我必须指定更多。无论哪种方式,错误代码都是same@TomKarzes我正在运行我发布的内容,因为我复制并粘贴了它。至于错误代码中的差异,我在尝试指定函数中所要求的内容后使用了它,我认为返回的是
'filesInSRCdir'