复制文件并在列表Python中为每个文件创建一个副本

时间:2020-02-01 23:53:07

标签: python python-3.x

我正在尝试完成以下Python 3.7(Juypter Notebook)中的任务。我的技能水平是绝对的初学者,因此非常感谢您的帮助。

我有一个文件想要复制并重命名分配给employee_list + current_month的每个人。

要复制的文件是“ Monthly Report.pdf”。对于列出的每个人,期望的结果将是“每月报告-person1-0120.pdf”,“每月报告-person2-0120.pdf”...。

下面的代码创建1个“ Monthly Report.pdf”的副本,并将其重命名为“ rpt_name”&'n'&'current_month'&'。pdf'

如何调整代码,或者有更好的方法来完成此任务?

from shutil import copyfile

current_month = '0120'
rpt_name = 'Monthly Report -'
employee_list = ['person1', 'person2', 'person3']

for n in employee_list:
    copyfile('Monthly Report.pdf', "'rpt_name'&'n'&'current_month'&'.pdf'")

1 个答案:

答案 0 :(得分:0)

副本的文件名是"'rpt_name'&'n'&'current_month'&'.pdf'",因为您拥有的是字符串文字。它不是要在字符串中查找这些变量的值。

您要寻找的是字符串插值。试试这个吧。

from shutil import copyfile

current_month = '0120'
rpt_name = 'Monthly Report -'
employee_list = ['person1', 'person2', 'person3']

for n in employee_list:
    copyfile('Monthly Report.pdf', "{}{}{}.pdf".format(rpt_name, n, current_month))

还有许多其他方法可以在python中使用字符串。例如:

https://www.programiz.com/python-programming/string-interpolation