Python循环实现用户输入驱动的HTML生成脚本优化需求问询
动态生成多组变量的HTML生成脚本
没问题,我帮你把脚本改成支持动态指定变量组数量的版本,循环收集每组信息后自动生成可部署的HTML文件。下面是完整的实现方案:
完整代码实现
def get_valid_integer(prompt): """辅助函数:获取用户输入的有效正整数,处理输入错误""" while True: try: num = int(input(prompt)) if num > 0: return num else: print("请输入大于0的整数哦!") except ValueError: print("输入不合法,请输入一个整数!") def collect_video_data(num_groups): """循环收集指定组数的视频信息""" video_list = [] for i in range(num_groups): print(f"\n===== 请输入第 {i+1} 组视频信息 =====") video_id = input("视频编号:") description = input("视频描述:") folder_name = input("文件夹名称:") # 将每组信息存入字典,添加到列表 video_list.append({ "id": video_id, "desc": description, "folder": folder_name }) return video_list def generate_html(video_data, output_file="video_list.html"): """根据收集的信息生成HTML文件""" # HTML模板,用循环插入每组视频的内容 html_template = f""" <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <title>视频列表</title> <style> .video-item {{ border: 1px solid #ccc; padding: 15px; margin: 10px 0; border-radius: 5px; }} .video-id {{ font-weight: bold; color: #2c3e50; }} </style> </head> <body> <h1>视频资源列表</h1> {''.join([f''' <div class="video-item"> <p class="video-id">视频编号:{item['id']}</p> <p>描述:{item['desc']}</p> <p>文件夹路径:<code>{item['folder']}</code></p> </div> ''' for item in video_data])} </body> </html> """ # 写入文件 with open(output_file, "w", encoding="utf-8") as f: f.write(html_template.strip()) print(f"\nHTML文件已成功生成:{output_file}") if __name__ == "__main__": print("欢迎使用视频列表HTML生成工具!") group_count = get_valid_integer("请输入需要生成的变量组总数:") videos = collect_video_data(group_count) generate_html(videos)
代码关键部分解释
- 输入验证:用
get_valid_integer函数确保用户输入的是有效的正整数,避免因为输入非数字或负数导致程序崩溃。 - 循环收集数据:
collect_video_data函数根据用户指定的组数,循环询问每组的三个字段,把所有数据存在列表里(每个元素是一个字典,方便后续读取)。 - 动态生成HTML:在HTML模板里用列表推导式循环拼接每组视频的HTML代码,这样不管用户输入多少组,都能自动生成对应的内容。
- 样式优化:给HTML加了简单的CSS样式,让页面看起来更整洁,部署到Web服务器后直接就能用。
使用示例
运行脚本后,会出现如下交互:
欢迎使用视频列表HTML生成工具! 请输入需要生成的变量组总数:3 ===== 请输入第 1 组视频信息 ===== 视频编号:V001 视频描述:Python入门教程 文件夹名称:python_basic ===== 请输入第 2 组视频信息 ===== 视频编号:V002 视频描述:Web开发实战 文件夹名称:web_dev ===== 请输入第 3 组视频信息 ===== 视频编号:V003 视频描述:数据可视化教程 文件夹名称:data_viz HTML文件已成功生成:video_list.html
生成的HTML文件可以直接上传到Nginx、Apache等Web服务器,访问就能看到所有视频的信息列表。
内容的提问来源于stack exchange,提问作者Joe_0855
相关产品推荐
相关产品推荐

