在我的plone站点上,我在原型对象的filefield中有数百个文件(pdf, doc,…)。输入过程中出了问题,所有的文件名都丢失了。问题是,当有人想要打开文件时,由于扩展名丢失,浏览器并不总是建议用查看器打开它。
用户必须保存文件并添加扩展名才能打开它。
我可以写一个python脚本来重命名所有文件与扩展名取决于文件类型?
谢谢。
http://plone.org/documentation/manual/plone-community-developer-documentation/content/rename
你需要的都在这里了:)
重要的部分是:parent。manage_renameObject(id, id + "-old")
你可以循环遍历子对象:
for i in context.objectIds():
obj = context[i]
context.manage_renameObject(i, i + ".pdf")
context是存放脚本的文件夹,存放所有pdf文件的文件夹
标准库函数os.rename(src, dst)
可以做到这一点。这就是你所需要的,如果你知道扩展名应该是什么(例如,所有的文件都是。pdf)。如果您有一个没有扩展名的.doc、.pdf、.jpg和.xls文件的混合包,则需要检查文件内容,以使用python-magic之类的工具确定正确的扩展名。
import os
for fn in os.listdir(path='.'):
os.rename(fn, fn + ".pdf")