我想执行一种“手动”批处理操作,其中Python查看目录,查看文件列表,然后一次一个地自动显示它们并等待用户输入,然后再转到下一个文件。我将假设文件具有相对随机的名称(Python选择显示它们的顺序并不重要)。
所以,我可能会pic001.jpg
和myCalendar.docx
。有没有办法让Python通过这些(以任何顺序)移动,以便我可以手动为每个人添加一些东西?例如,它可能看起来像
Please type a prefix for each of the following:
myCalendar.docx:
当我输入“2014”时,该文件将变为2014_myCalendar.docx
。然后Python继续说
Please type a prefix for each of the following:
myCalendar.docx: 2014
... myCalendar.docx renamed to 2014_myCalendar.docx
pic001.jpg:
然后我可以将它disneyland_pic001.jpg
。
我知道如何重命名文件,浏览目录等。我只是不知道如何让Python循环遍历某个目录中的每个文件,一次一个,让我修改每个文件。我认为如果每个文件都被编号,这对于循环来说真的很容易,但是对于我正在尝试做的事情,我不能认为它们会是。
提前谢谢。
此外,如果您能指出一些可能对我有帮助的教程或文档,我也会感激。我已经在几个标签中打开了http://docs.python.org,但作为一个相对较新的Python和一般编程的人,我发现他们的语言有时候会让我有点过头。
答案 0 :(得分:0)
像这样(未经测试):
DIR = '/Volumes/foobar'
prefix = raw_input('Please type a prefix for each of the following: ')
for f in os.listdir(DIR):
path = os.path.join(DIR, f)
new_path = os.path.join(DIR, '%s%s' % (prefix, f))
try:
os.rename(path, new_path)
print 'renamed', f
except:
raise