我只是开始学习python,因此喜欢基于文件名创建html表.
映像以下文件
apple.good.2.svg
apple.good.1.svg
banana.1.ugly.svg
banana.bad.2.svg
kiwi.good.svg
对象的类型始终是质量属性位于名称中某个位置的第一部分(在第一个点之前).
我的结果表应如下所示:
Object Name | good | bad | ugly
-------------------------------------------------------------------------
apple | apple.good.1.svg |
| apple.good.2.svg |
-------------------------------------------------------------------------
banana | | banana.bad.2.svg | banana.1.ugly.svg
-------------------------------------------------------------------------
kiwi | kiwi.good.svg
-------------------------------------------------------------------------
这是我到目前为止所做的
#!/usr/bin/python
import glob
from collections import defaultdict
fileNames = defaultdict(list)
# fill sorted list of tables based on svg filenames
svgFiles = sorted(glob.glob('*.svg'))
for s in svgFiles:
fileNames[s.split('.', 1)[0]].append(s)
# write to html
html = ''
for row in zip(*dict(fileNames).values()):
html += ''
html += 'A' + ''.join(dict(fileNames).keys()) + '
Object Name' + ''.join(row) + ''
file_ = open('result.html', 'w')
file_.write(html)
file_.close()
我设法读取了按字典排序的文件:
{'kiwi': ['kiwi.good.svg'], 'apple': ['apple.good.2.svg', 'apple.good.1.svg'], 'banana': ['banana.1.ugly.svg', 'banana.bad.2.svg']}
但是通过生成html表失败.
我如何建立html表格,如上所示?根据对象的quality属性,将对象写入行的第一列并按列写入文件名?