微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

带有多个和代码编辑参数的shutil.copy() 文件

如何解决带有多个和代码编辑参数的shutil.copy() 文件

我正在尝试将文件从 3 个父路径复制到不同名称的子路径,我正在努力让它执行拼图的最后部分!我有 2 个列表:

客户与客户相关并且每年都相关:

乔 = 010

鲍勃(父母姓名)= 016

标记 = 018

约翰(鲍勃的孩子)= 016

彼得(鲍勃的孩子)= 016

我设法让我的代码检查源文件夹中是否存在文件路径,如果不存在,则将 John 或 Peter(孩子)替换为 Bob(父)。它正确返回文件路径。

def copyFiles(cust_list,proj_num):
    cust_list = ['Joe','Bob','Mark','John','Peter']
    proj_num = ['010','016','018']    
    for cust,num in zip(cust_list,proj_num):
        source = f'C:/Users/Desktop/Automation_Testing/Live_{num} ({cust})/01_Docs_Issued/'
        dest = f'C:/Users/Desktop/Automation_Testing/new_{cust}/Data/'

        if not os.path.exists(source):
        
            new_cust = cust.replace(cust,'Bob')
            source = source.replace(cust,new_cust)
        
        print(source)

输出

'C:/Users/Desktop/Automation_Testing/Live_010 (Joe)/01_Docs_Issued/'
'C:/Users/Desktop/Automation_Testing/Live_016 (Bob)/01_Docs_Issued/'
'C:/Users/Desktop/Automation_Testing/Live_018 (Mark)/01_Docs_Issued/'
'C:/Users/Desktop/Automation_Testing/Live_016 (Bob)/01_Docs_Issued/'
'C:/Users/Desktop/Automation_Testing/Live_016 (Bob)/01_Docs_Issued/'

之后我不能让它做的是从每个 Source 文件夹中复制一个文件,其中包含文件名和扩展名 (.pdf) 中的特定字符串到目的地中每个客户名称的每个 dest 路径。 我希望将文件复制到以下位置。

C:/Users/Desktop/Automation_Testing/new_Joe/Data/'
C:/Users/Desktop/Automation_Testing/new_Bob/Data/'
C:/Users/Desktop/Automation_Testing/new_Mark/Data/'
C:/Users/Desktop/Automation_Testing/new_John/Data/'
C:/Users/Desktop/Automation_Testing/new_Peter/Data/'

我尝试了 forif 的许多变体,但我无法复制文件

for file in os.listdir(source):
            
            if 'INVOICE' in file.upper():
                file_type = '.pdf'
                if file_type == True:
                shutil.copy(os.path.join(source,file),dest)
print(os.path.join(dest,file))

我希望这是有道理的,并提前感谢您提出任何问题或建议。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。