Shutil 正在目标文件夹中制作两个副本

Shutil is making two copies in the destination folder

我有一个脚本应该进入文件夹直到最后一个文件,并检测文件名中是否包含蛋白质一词,如果是,则将所述文件移动到指定的目标文件夹。

它正在做我希望它会做的事情,然后还会做更多。它正在为目标文件夹中的每个文件制作两份副本,一个文件具有原始名称,第二个文件(副本)具有被截断的名称但完全相同的文件。

说不清是怎么回事。谁能帮帮我?

import os
import shutil

def main():
    keyword = 'PROTEIN'
    final_destination ='./These_are_your_protein_files'
    location = os.getcwd()
    list_of_files = os.listdir(location)
    if not('These_are_your_protein_files' in list_of_files):
        make_destination = './These_are_your_protein_files'
        os.mkdir(make_destination)
    exclude = ['These_are_your_protein_files']
    for root_path, dir_names, file_names in os.walk(location, topdown=True):
        dir_names[:] = [d for d in dir_names if d not in exclude]
        for file_name in file_names:
            file_path = os.path.join(root_path, file_name)
            file_path_upper = file_path.upper()
            if keyword in file_path_upper:
                shutil.copy(file_path,final_destination)
main()
        
        
  • 我试过代码,它只是复制了一次里面有单词蛋白质的文件。
  • 也许您拥有该文件的多个副本。
  • 您可以通过如下打印文件路径来检查

if keyword in file_path_upper:print(file_path)