我需要一个脚本将大于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,但我很难说出来。
谢谢你们帮忙。
达尼
答案 0 :(得分:0)
试用shutil
包。它处理高级文件操作
import shutil
#do something
shutil.move(source,destination)
源和目标可能是文件或文件夹 只需将目标设置为文件的最终名称,而不是复制然后重命名。
答案 1 :(得分:0)
您可以使用rename
os
方法
import os
os.rename(src, dst)
其中src
是原始文件或目录名称,dst
是新名称。