Shutil Copy File 声称尽管在印刷品中清楚地识别了文件,但仍未找到文件 window

Shutil Copy File claims file not found despite clearly identifying the file in the print window

我有以下代码(文件路径细节保持匿名):

def stu_activities():
    downloadsList = os.listdir("***/Downloads")
    destination = "."
    for file_name in downloadsList:
        if file_name.startswith("Stu_"):
            shutil.copyfile(file_name,destination)

stu_activities()

当我 运行 它时,它给我这个错误:

FileNotFoundError: [Errno 2] No such file or directory: 'Stu_activity.pptx'

怎么说文件没有找到,怎么还是找到了?

我假设您的真实代码不包含“***/Downloads”,而是包含真实路径。

os.listdir() returns 文件名,但不是文件名的完整路径。

shutil.copyfile() 另一方面需要文件的完整路径。 此外 shutil.copyfile() 的目的地必须是文件名而不是目录

def stu_activities():
    dir_to_List = "/your/path/Downloads"
    downloadsList = os.listdir(dir_to_list)
    destination = "."
    for file_name in downloadsList:
        if file_name.startswith("Stu_"):
            shutil.copyfile(
                os.path.join(dir_to_list, file_name) ,
                os.path.join(destination, file_name))

stu_activities()