【发布时间】:2013-07-23 14:39:17
【问题描述】:
我想创建一个函数,该函数将遍历列表到我输入的文件名,然后当满足条件时,我希望它将每个后续文件复制到名为“INPUT”的文件中。
这是我目前所拥有的:
file_list = [file1, file2, file3]
def queue():
if condition1_met:
for item in file_list:
os.system('cp item INPUT')
else:
return queue()
但是我只是不知道最好的方法是迭代然后复制文件,因为那个 os.system 位不会识别“项目”。
【问题讨论】:
-
将每个项目复制到
INPUT意味着它们都替换了以前的版本。只有最后一个这样的副本会保留。 -
是的,这就是我想要的,但我确实想保留原始文件。
-
为什么,您使用 os.system() 进行此操作?完全在 python 中处理文件对象不够吗?
-
我不认为你想要在 for 之后的 else 子句。它会一直运行(因为 for 循环中没有中断),因此 queue() 将继续调用自身并复制文件,直到 python 达到其递归限制。你真的想在这个函数中回避吗?