4

在我的 plone 网站上,我在原型对象的文件字段中有数百个文件(pdf、doc、...)。导入过程中出了点问题,所有文件名都丢失了。问题是当有人想要打开文件时,由于缺少扩展名,浏览器并不总是建议用查看器打开它。

用户必须保存文件并添加扩展名才能打开它。

我可以编写一个 python 脚本来根据文件类型重命名所有带有扩展名的文件吗?

谢谢你。

4

2 回答 2

3

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 的文件夹

于 2011-11-08T13:31:00.187 回答
2

标准库函数os.rename(src, dst)可以解决问题。如果您知道扩展名应该是什么,这就是您所需要的(例如所有文件都是.pdf)。如果您有混合的 .doc、.pdf、.jpg、.xls 文件且没有扩展名,则需要检查文件内容以确定使用类似python-magic的正确扩展名。

import os

for fn in os.listdir(path='.'):
    os.rename(fn, fn + ".pdf")
于 2011-11-08T14:06:07.830 回答