Python 生成 图片网页列表 显示路径和建立时间 笔记

news2024/11/15 17:49:16

Python 一键 生成 图片网页列表 显示路径和建立时间 (方便查看复制路径、重复一键生成)

支持格式:jpg \png\ svg\ webp

图片网页列表 图示:

参考代码:


# -*- coding: utf-8 -*-
import os
import datetime

# 指定图片所在的目录
image_dir = './'
soft_dir = './soft/'
goods_dir = './goods/'

# 获取目录下的所有图片文件
image_files = [f for f in os.listdir(image_dir) if f.endswith('.jpg') or f.endswith('.png') or f.endswith('.svg') or f.endswith('.webp')]
image_softs = [f for f in os.listdir(soft_dir) if f.endswith('.jpg') or f.endswith('.png') or f.endswith('.svg') or f.endswith('.webp')]
image_goods= [f for f in os.listdir(goods_dir) if f.endswith('.jpg') or f.endswith('.png') or f.endswith('.svg') or f.endswith('.webp')]

# 根据建立时间对图片文件进行排序
image_files.sort(key=lambda x: os.path.getctime(os.path.join(image_dir, x)))
image_softs.sort(key=lambda y: os.path.getctime(os.path.join(soft_dir, y)))
image_goods.sort(key=lambda z: os.path.getctime(os.path.join(goods_dir, z)))

# 生成html页面
html = '<html>\n<head>\n<meta charset="utf-8"> \n<title>图片列表</title>\n'
html += f'<link rel="stylesheet" href="img/pic.css">\n'
html += f'</head><body>\n'
for image_file in image_files:
    # 获取图片的建立时间
    create_time = datetime.datetime.fromtimestamp(os.path.getctime(os.path.join(image_dir, image_file)))
    # 将图片路径和建立时间插入到html页面中
    html += f'<div class="responsive"><div class="img">\n'
    html += f'<img src="img/{image_file}" alt="{image_file}" width="200px" height="300px"/>\n'
    html += f'<div class="desc">路径名称:img/{image_file}</div>\n'
    html += f'<div class="desc limit-text">建立时间:{create_time}</div>\n'
    html += f'</div></div>'
for image_soft in image_softs:
    # 获取图片的建立时间
    create_time_soft = datetime.datetime.fromtimestamp(os.path.getctime(os.path.join(soft_dir, image_soft)))
    # 将图片路径和建立时间插入到html页面中
    html += f'<div class="responsive"><div class="img">\n'
    html += f'<img src="img/soft/{image_soft}" alt="{image_soft}" width="200px" height="300px"/>\n'
    html += f'<div class="soft">路径名称:img/soft/{image_soft}</div>\n'
    html += f'<div class="soft limit-text">建立时间:{create_time_soft}</div>\n'
    html += f'</div></div>'
for image_good in image_goods:
    # 获取图片的建立时间
    create_time_good = datetime.datetime.fromtimestamp(os.path.getctime(os.path.join(goods_dir, image_good)))
    # 将图片路径和建立时间插入到html页面中
    html += f'<div class="responsive"><div class="img">\n'
    html += f'<img src="img/goods/{image_good}" alt="{image_good}" width="200px" height="300px"/>\n'
    html += f'<div class="goods">路径名称:img/goods/{image_good}</div>\n'
    html += f'<div class="goods limit-text">建立时间:{create_time_good}</div>\n'
    html += f'</div></div>'


html += '</body>\n</html>'

# 将html页面保存到文件
with open('index.html', 'w',encoding="utf-8") as f:
    f.write(html)

注(支持中文):

其中 with open('index.html', 'w',encoding="utf-8")

encoding="utf-8" 这个是支持中文 写法,要不然乱码

生成网页 index.html

网页样式:pic.css

div.img {margin: 5px;border: 1px solid #ccc;float: left;width: 300px;}
div.img:hover {border: 1px solid #777;}
div.img img {width: 100%;height: auto;}
div.desc {padding: 15px;text-align: center;}
div.soft {padding: 15px;text-align: center; color: #1e9fff;}
div.goods {padding: 15px;text-align: center;color: #ffb800;}
.limit-text {  /* 限制文件显示长度 */
    width: 190px; /* 显示190px文本其余用... */
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

生成exe文件

pyinstaller -F pic.py

生成单文件pic.exe

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1403368.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

自己构建webpack+vue3+ts

先看看我的目录结构&#xff08;我全局使用TS&#xff09;&#xff1a; 一、安装配置webpack打包 安装esno npm install esnoesno 是基于 esbuild 的 TS/ESNext node 运行时,有了它&#xff0c;就可以直接通过esno *.ts的方式启动脚本&#xff0c;package.json中添加 type:…

【动态规划】【C++算法】801. 使序列递增的最小交换次数

作者推荐 【动态规划】【广度优先搜索】【状态压缩】847 访问所有节点的最短路径 本文涉及知识点 动态规划汇总 数组 LeetCode801使序列递增的最小交换次数 我们有两个长度相等且不为空的整型数组 nums1 和 nums2 。在一次操作中&#xff0c;我们可以交换 nums1[i] 和 num…

【Java程序员面试专栏 专业技能篇】MySQL核心面试指引(二):核心机制策略

关于MySQL部分的核心知识进行一网打尽,包括三部分:基础知识考察、核心机制策略、性能优化策略,通过一篇文章串联面试重点,并且帮助加强日常基础知识的理解,全局思维导图如下所示 本篇Blog为第二部分:核心机制策略,子节点表示追问或同级提问 日志机制 关于MySQL的几…

【Web前端开发基础】CSS的结构伪类选择器、伪元素、浮动

CSS的浮动 目录 CSS的浮动一、学习目标二、文章内容2.1 结构伪类选择器2.2 伪元素2.3 标准流2.4 浮动2.5 清除浮动2.6 拓展&#xff08;BFC&#xff09; 三、综合案例3.1 小米模块案例3.2 网页导航案例 一、学习目标 能够使用结构伪类选择器在HTML中选元素能够说出标准流元素的…

Kafka 问题排查

订单宽表数据不同步 事情的起因是专员在 ze app 上查不到订单了&#xff0c;而订单数据是从 mysql 的 order_search_info 查询的&#xff0c;order_search_info 表的数据是从 oracel 的 BZ_ORDER_INFO 表同步过来的&#xff0c;查不到说明同步有问题 首先重启&#xff0c;同步…

《WebKit 技术内幕》学习之五(2): HTML解释器和DOM 模型

2.HTML 解释器 2.1 解释过程 HTML 解释器的工作就是将网络或者本地磁盘获取的 HTML 网页和资源从字节流解释成 DOM 树结构。 这一过程中&#xff0c;WebKit 内部对网页内容在各个阶段的结构表示。 WebKit 中这一过程如下&#xff1a;首先是字节流&#xff0c;经过解码之…

终端(命令提示符或Windows PowerShell或Azure Cloud Shell)概述

终端&#xff08;命令提示符或Windows PowerShell或Azure Cloud Shell&#xff09;是一种很 不 好用的东西 就是要背&#xff0c;很 不 爽 介绍 Windows 终端是一个新式主机应用程序&#xff0c;它面向你喜爱的命令行 shell&#xff0c;如命令提示符、PowerShell 和 bash&…

力扣刷MySQL-第五弹(详细讲解)

&#x1f389;欢迎您来到我的MySQL基础复习专栏 ☆* o(≧▽≦)o *☆哈喽~我是小小恶斯法克&#x1f379; ✨博客主页&#xff1a;小小恶斯法克的博客 &#x1f388;该系列文章专栏&#xff1a;力扣刷题讲解-MySQL &#x1f379;文章作者技术和水平很有限&#xff0c;如果文中出…

Python 算法交易实验67 第一次迭代总结

说明 在这里对第一次迭代&#xff08;2023.7~ 2024.1&#xff09;进行一些回顾和总结&#xff1a; 回顾&#xff1a; 1 实现了0~1的变化2 在信息隔绝的条件下&#xff0c;无控制的操作&#xff0c;导致被套 总结&#xff1a; 思路可行&#xff0c;在春暖花开的时候&#x…

设备对象(DEVICE_OBJECT)

设备对象(DEVICE_OBJECT) 每个驱动程序会创建一个或多个设备对象&#xff0c;用DEVICE_OBJECT数据结构表示。每个设备对象都会有一个指针指向下一个设备对象&#xff0c;因此就形成一个设备链。设备对象链的第一个设备是由DRIVER_OBJECT结构体中指明的。设备对象保存设…

C++ 之LeetCode刷题记录(十五)

&#x1f604;&#x1f60a;&#x1f606;&#x1f603;&#x1f604;&#x1f60a;&#x1f606;&#x1f603; 开始cpp刷题之旅。 依旧是追求耗时0s的一天。 94. 二叉树的中序遍历 给定一个二叉树的根节点 root &#xff0c;返回 它的 中序 遍历 。 示例 1&#xff1a; …

C#,入门教程(28)——文件夹(目录)、文件读(Read)与写(Write)的基础知识

上一篇&#xff1a; C#&#xff0c;入门教程(27)——应用程序&#xff08;Application&#xff09;的基础知识https://blog.csdn.net/beijinghorn/article/details/125094837 C#知识比你的预期简单的多&#xff0c;但也远远超乎你的想象&#xff01; 与文件相关的知识&#xf…

跟着我学Python进阶篇:03. 面向对象(下)

往期文章 跟着我学Python基础篇&#xff1a;01.初露端倪 跟着我学Python基础篇&#xff1a;02.数字与字符串编程 跟着我学Python基础篇&#xff1a;03.选择结构 跟着我学Python基础篇&#xff1a;04.循环 跟着我学Python基础篇&#xff1a;05.函数 跟着我学Python基础篇&#…

# Jenkins:一键部署与备份的终极解决方案

Jenkins&#xff1a;一键部署与备份的终极解决方案 引言 在持续集成和持续部署&#xff08;CI/CD&#xff09;的世界中&#xff0c;Jenkins 作为一个开源自动化服务器&#xff0c;扮演着至关重要的角色。但是&#xff0c;部署和维护 Jenkins 服务往往需要一定的技术知识和时间…

卷积和滤波对图像操作的区别

目录 问题引入 解释 卷积 滤波 问题引入 卷积和滤波是很相似的&#xff0c;都是利用了卷积核进行操作 那么他们之间有什么区别呢&#xff1f; 卷积&#xff1a;会影响原图大小 滤波&#xff1a;不会影响原图大小 解释 卷积 我们用这样一段代码来看 import torch.nn as …

【C++】入门(一)

前言&#xff1a; 本篇博客将带大家认识C&#xff0c;熟悉基本语法 文章目录 认识CC的诞生与发展C 在行业中的运用 一、命名空间1.1 命名空间的定义1.2 命名空间的使用1.3 命名空间的访问 二、C输入&输出输出操作符 <<输入操作符 >>换行符和刷新输出缓冲区关键…

C++入门学习(十二)字符串类型

上一节&#xff08;C入门学习&#xff08;十一&#xff09;字符型-CSDN博客&#xff09;中我们学到如何表示和使用一个字符串&#xff0c;本篇文章是字符串&#xff08;多个字符&#xff09;。 定义字符串主要有两种方式&#xff1a; 第一种&#xff1a; char str[] "…

openGauss学习笔记-203 openGauss 数据库运维-常见故障定位案例-修改索引时只调用索引名提示索引不存在

文章目录 openGauss学习笔记-203 openGauss 数据库运维-常见故障定位案例-修改索引时只调用索引名提示索引不存在203.1 修改索引时只调用索引名提示索引不存在203.1.1 问题现象203.1.2 原因分析203.1.3 处理办法 openGauss学习笔记-203 openGauss 数据库运维-常见故障定位案例-…

28、web攻防——通用漏洞SQL注入HTTP头XFFCOOKIEPOST请求

文章目录 $_GET&#xff1a;接收get请求&#xff0c;传输少量数据&#xff0c;URL是有长度限制的&#xff1b; $_POST&#xff1a;接收post请求&#xff1b; $_COOKIE&#xff1a;接收cookie&#xff0c;用于身份验证&#xff1b; $_REQUEST&#xff1a;收集通过 GET 、POST和C…

Web开发3:数据库使用

欢迎来到Web开发系列的第三篇&#xff01;今天我们将探讨如何在Web开发中使用数据库。数据库是存储和管理数据的重要工具&#xff0c;它在现代应用程序中起着至关重要的作用。无论是社交媒体应用、电子商务平台还是博客网站&#xff0c;数据库都是不可或缺的一部分。 什么是数…