我试着在一个字典列表中创建一个dict。如何构建数据结构,并在以后通过jinja2获取数据?下面是一个示例:
var = {
'site': '',
'listofiles': [
{'time': '', 'name': ''}
]
}
exampledata = {
'site': 'DC1',
'listofiles': [
{'time': 'Thu Oct 3 22:26:40 2019', 'name': 'file1'},
{'time': 'Thu Oct 3 20:26:40 2019', 'name': 'file2'},
{'time': 'Thu Oct 3 21:26:40 2019', 'name': 'file3'}
]
} 如何在var中填充数据?我试过做以下几件事,但这只会让我
{ 'DC1': [file1,file2,file3], 'DC2': [file1,file2] }
exampledata = {}
for f in os.listdir(path):
exampledata.setdefault(f.split('.')[1],[]).append(f)发布于 2019-10-08 18:52:26
注意!不要在代码中使用“path”名作为变量或任何内容,因为python的builin模块的名称就是
使用以下代码。make_var函数接受两个变量,第一个变量是站点的名称,第二个变量是目录的路径,其中包含注册它所需的所有文件。代码只适用于Python3
from datetime import datetime as dt
from pathlib import Path
def make_var(site_name, pth):
exampledata = {'site':site_name, 'listofiles':[]}
p = Path(pth)
for f in p.iterdir():
if f.is_file():
name = f.name.replace(f.suffix, '')
tm = dt.utcnow().strftime('%a %b %H:%M:%S %Y')
exampledata['listofiles'].append({'time':tm, 'name':name})
return exampledata发布于 2019-10-08 18:47:17
不知道你说的“网站”是什么意思.
下面的代码使用站点作为文件系统上的位置。它遍历站点列表并读取每个站点的文件。
import os
import datetime
data = dict()
sites = ['.']
for site in sites:
data['listofiles'] = []
data['site'] = site
for f in os.listdir(site):
data['listofiles'].append(
{'time': str(datetime.datetime.fromtimestamp(os.path.getmtime(os.path.join(site, f)))), 'name': f})https://stackoverflow.com/questions/58291996
复制相似问题