【发布时间】:2014-01-29 00:57:42
【问题描述】:
python 菜鸟在这里难住了。我正在尝试将文件从源目录复制到输出目录,重命名文件并为组中的每个成员再次循环所有这些。
到目前为止,我的输出只为我提供了 john 分组的第一组文件。
有人可以指出我做错了什么吗?请帮忙..
import os
import shutil
from glob import glob
import easygui as eg
groups = {'mark': ('john', 'lisa', 'craig', 'jessie'),}
title = 'Title'
msg = 'Choose Input Directory'
default = 'C\\:'
inputdir = eg.diropenbox(msg, title, default)
files = glob(inputdir + '/*.*')
x = input('How many copies? ')
y = raw_input('Text for filename? ')
otitle = 'Title'
omsg = 'Choose Output Directory'
odefault = 'C\\:'
outputdir = eg.diropenbox(omsg, otitle, odefault)
x = x - 1
z = 0
for members in groups['mark']:
while x >= 0:
for filename in files:
shutil.copy(filename, outputdir)
ofiles = glob(outputdir + '/*.*')
for ofilename in ofiles:
if '-' and 'Template' in ofilename:
os.rename(ofilename, ofilename.replace('-', str(x)).replace('Template', y))
x -= 1
files = glob(outputdir + '/*.*')
for filename in files:
if 'person' in filename:
os.rename(filename, filename.replace('person', groups['mark'][z]))
z += 1
【问题讨论】:
-
为什么你使用
groups['mark'][z]而不仅仅是members? -
其实我发帖后才发现哈哈,我就是个菜鸟,放轻松... :)