用于将文件重命名和复制到新目录的脚本。

时间:2012-03-22 09:28:54

标签: python-3.x python

您好我最近制作了这个脚本来重命名我扫描的文件,使用前缀和日期。它工作得很好但是如果它可以在当前目录中创建一个与第一个文件同名的目录,然后将所有扫描的文件移动到那里,那就太棒了。例如。第一个文件重命名为'Scanned As At 22-03-2012 0',然后一个名为'Scanned As At 22-03-2012 0'的目录(路径为M:\ Claire \ Scanned As 22-03-2012 0)制作,该文件放在那里。

我很难找到最好的方法来做到这一点。提前致谢!

import os
import datetime
#target = input( 'Enter full directory path: ')
#prefix = input( 'Enter prefix: ')
target = 'M://Claire//'
prefix = 'Scanned As At '
os.chdir(target)
allfiles = os.listdir(target)
count = 0
for filename in allfiles:
    t = os.path.getmtime(filename)
    v = datetime.datetime.fromtimestamp(t)
    x = v.strftime( ' %d-%m-%Y')
    os.rename(filename, prefix + x + " "+str(count) +".pdf")
    count +=1

1 个答案:

答案 0 :(得分:0)

您的要求并不十分清楚。如果不重命名文件,只将它放在目录下,那么你可以使用以下代码(只有你的例子的for循环):

for filename in allfiles:
    if not os.isfile(filename): continue
    t = os.path.getmtime(filename)
    v = datetime.datetime.fromtimestamp(t)
    x = v.strftime( ' %d-%m-%Y')
    dirname = prefix + x + " " + str(count)
    target = os.path.join(dirname, filename)
    os.renames(filename, target)
    count +=1

您可以查看help(os.renames)