python复制大于x的所有文件然后重命名所有新文件

时间:2016-06-11 06:54:06

标签: python python-3.5

我需要一个脚本将大于5mb的所有文件从给定文件夹复制到脚本需要在桌面上创建的新文件夹。然后它需要按递增顺序重命名所有文件,也需要更改扩展名。 例如文件:slides.ppt,math.doc,essay.docx to:lec1.doc,lec2.doc,lec3.doc

我让这个脚本工作,它列出了大于5mb的所有文件:

import os

# The directory that we are interested in
myPath = "C:\asd"

# The min size of the file in Bytes
mySize = '5000000'

# All the file paths will be stored in this list
filesList= []

for path, subdirs, files in os.walk(myPath):
    for name in files:
        filesList.append(os.path.join(path, name))

for i in filesList:
    # Getting the size in a variable
    fileSize = os.path.getsize(str(i))

    # Print the files that meet the condition
    if int(fileSize) >= int(mySize):
        print("The File: " + str(i) + " is: " + str(fileSize) + " Bytes")

现在这打印出列表,列表是正确的,但我怎么能从这里开始? 我查看了os和glob,但我很难说出来。

谢谢你们帮忙。

达尼

2 个答案:

答案 0 :(得分:0)

试用shutil包。它处理高级文件操作

import shutil
#do something
shutil.move(source,destination)

源和目标可能是文件或文件夹 只需将目标设置为文件的最终名称,而不是复制然后重命名。

答案 1 :(得分:0)

您可以使用rename

中的os方法
import os
os.rename(src, dst)

其中src是原始文件或目录名称,dst是新名称。