1

我对编程很陌生,我正在尝试做一些很可能非常简单的事情。我似乎无法找到正确的线程,但在这里可以准确地向我展示我正在尝试做的事情,或者我正在寻找错误的线程。

我正在尝试浏览一个目录,并在此过程中计算我要删除或移动的不同类型项目的数量,并让它打印出一个总数量,而不是一个一个地计算到最终数字。

    def files_to_be_moved():
        count = 0
        for (dirname, dirs, files) in os.walk(directory):
            for filename in files:
                if filename.endswith(extensions_to_move):
                    count = count + 1
                    print(count, 'files have been moved')
                    #shutil.move(directory)

我想看到这个打印输出:“237 个文件已被移动”,但我得到“1 个文件已被移动”,“2 个文件已被移动”......直到它到达末尾。

4

1 回答 1

1

只需更改该行,使其位于循环之外:

def files_to_be_moved():
    count = 0
    for (dirname, dirs, files) in os.walk(directory):
        for filename in files:
            if filename.endswith(extensions_to_move):
                count = count + 1
    print(count, 'files have been moved')
    # ^^^
于 2019-07-15T18:27:34.893 回答