我有一个 .txt 文件,其中包含多个文件路径和不同的扩展名。本质上,它是一个大型项目中使用的所有资源的列表。一行通常有多个文件。
我想要做的是从此文件中获取扩展名为 .png 的每个文件名,并将它们放入一个新的文本文件中。
这样我就可以获取这个 .png 文件列表,并将它与我已经创建的列表进行比较,该列表在我的资源目录中获取 .png 的所有文件名和扩展名。
我用于该部分的代码是:
resourceList = [file for file in os.listdir('.')
if file.endswith('.png')]
我的最终目标是比较文件名列表并从资源目录中删除所有不匹配的文件。
我一直在玩re
, glob
,strip
但收效甚微。
任何帮助将不胜感激。我的编程技能充其量是公平的,我已经为此苦苦挣扎了一段时间。谢谢!
更新#2
with open('Resource_PNGs.txt') as f:
for line in f:
if '.png' in line:
(head, tail) = os.path.split(line)
print('%s' % (tail))
澄清:
我发现的资源列表是从目录中取出的文件名列表。示例:
'Button.png', 'Switch.png', etc
。我遇到的一个问题是从 Visual Studio 中对“* .png”进行的搜索中复制的文本文件,所以我有 .png 与路径、其他一些 C++ 垃圾和 filename.png 一起引用的文件我正在寻找捕捉。我最终想比较这两个列表,看看哪些文件不匹配。这些行看起来像这样:
C:\BaseProjects\Source\FileManagerGeneralSettings.qml(86): buttonImageName: imgDirUrlString + "/WizBack_titleBar.png"
C:\BaseProjects\Source\FileSendPage.qml(35): source: imgDirUrlString + "/TabEmpty.png"
C:\BaseProjects\Source\FileSendPage.qml(224): buttonIcon: imgDirUrlString + "/DialogConfirm.png"