【发布时间】:2016-11-08 08:26:03
【问题描述】:
我有一个静态网站,其中旧页面的版本仍存储在根目录中。我想找到这些页面并查看它们是否在根文件的某个链接中使用。
所以我使用powershell的命令ls -R -Name列出了根目录中的所有文件并将其存储在文件'filelist.txt'中,现在我有类似的东西:
directory1
directory2
5s.htm
5s.html
5s_introduction.htm
...
images\icons
images\icons\linkedin.png
images\icons\project-slider-arrow-left.png
images\icons\project-slider-arrow-right.png
我现在想看看这些文件的使用位置,所以我想我可以在 python 中使用一个简单的脚本(因为我不知道 windows 的 powershell),它从列表中获取一行,然后查找出现在根目录中的每个 html 页面。
为了只提取文件名,我在 notepad++ 上尝试了这个正则表达式:
[^\\^\n]+\.[a-z]{0,4}
并且似乎有效...(^\n 是排除所有代表目录的行)
第二步,我尝试修改我在 stackoverflow 上找到的这些 Python 行:
import re
with open('filelist.txt') as f:
for l in f:
m = re.match('([^\\^\n]+\.[a-z]{0,4})', l)
if m:
print(m.group(1))
但它返回的字符串完全错误,充满空格或单个字母,就像正则表达式错误一样。 然后我想我可以使用正则表达式结果作为变量并以某种方式在我的根目录上的每个 html 页面上检查它,但我被困在这里。
【问题讨论】: