【发布时间】:2020-04-28 06:40:41
【问题描述】:
我尝试使用 Python 脚本在 Windows 10 中满足以下要求:
-
递归地将多个文件夹中的所有文件名更改为小写。 为此,我使用了以下代码:
import os path = "C://Users//shilpa//Desktop//content" for dir,subdir,listfilename in os.walk(path): for filename in listfilename: new_filename = filename.lower() src = os.path.join(dir, filename) dst = os.path.join(dir, new_filename) os.rename(src,dst) 更新嵌入在特定标签中的这些文件的引用。这里的标签是
<img href=(filename.png)>。 这里<img href=>是常量,文件名filename.png不同。
所以,这里是例子:
现有文件名:
ABC.ditaXYZ.ditaIMG.PNG
这些在不同的文件中被引用,比如说
IMG.PNG 在XYZ.dita 中被引用。
在step1之后,这些变化如下:
abc.ditaxyz.ditaimg.png
这将破坏不同文件中包含的所有引用。
我想更新所有更改的文件名引用,以使链接保持不变。
我对 Python 没有任何经验,而且只是初学者。 为了实现第 2 步,我应该能够使用正则表达式并找到一个模式, 说,
<img href="(this will be a link to the IMG.PNG>"。
这将是.dita 文件的一部分。
在第 1 步之后,文件中的引用将中断。
如何更改文件名并保留其引用? 这里的问题是,在所有文件中查找并用新名称替换旧名称。
感谢任何帮助。
【问题讨论】:
-
我使用以下代码将多个文件夹中的所有文件递归重命名为小写 - import os path = "C://Users//sh001//Desktop//content" for dir,subdir,listfilename in os.walk(path): for filename in listfilename: #i += 1 new_filename = filename.lower() src = os.path.join(dir, filename) dst = os.path.join(dir, new_filename.lower ()) os.rename(src,dst)
-
你在用什么?什么操作系统/语言/等?适当的标签将有助于将问题引导给最能回答问题的人。此外,您应该编辑您的帖子以包含您的评论内容,而不是将其添加为评论。
标签: python html-parsing lowercase