python中存取json和显示

这篇博客主要介绍了如何在Python中存储和读取JSON数据。首先,通过遍历服务器文件并将其存储到Postgresql数据库中text类型的filelist字段,然后详细说明了如何从数据库中取出JSON数据,并最后讨论了如何显示文件的大小信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 存:遍历服务器中的所有文件存取

Postgresql中的字段filelist,类型为text

filepath= '/data/'+request.POST.get('filepath')  # 获取到路径
filesize, fileCount = get_server_file_total_size(filepath)  #  获取文件中的所有文件的大小
metafile = get_server_subfilename(filepath)  # 遍历文件夹中的子文件(夹)和大小

metafile是字典类型

filelist = json.dumps(metafile)  # 转成json数据进行存储

2 取:

planid = request.GET.get('planId')
sql = '''SELECT id, name, filepath, filesize, filelist,"fileCount"
	    FROM exp_system.exp_datametarelate
        WHERE planid=%s;'''
cursor.execute(sql, [planid])
fileinfo = cursor.fetchone()
if fileinfo:
   if fileinfo[4]:
       filelist = json.loads(fileinfo[4])  # 还原json数据
   else:
       filelist = fileinfo[4]

3 显示

<div class="modal-body">
    <table class="table table-condensed table-hover">
            <thead>
            <tr>
                <th>文件名</th>
                <th>文件大小</th>
            </tr>
            </thead>
        <tbody>
        {% for i in f.filelist %}
            <tr>
                <td>{{ i.filename }}</td>
                <td>
                    {% if i.filesize > 1024 %}
                        {% if i.filesize > 1048576 %}
                                {% widthratio i.filesize 1048576 1 %} MB
                        {% else %}
                            {% widthratio i.filesize 1024 1 %} KB
                        {% endif %}
                    {% else %}
                        {{ i.filesize }} B
                    {% endif %}
                </td>
            </tr>
        {% endfor %}
    </tbody>
    </table>

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值