### 创建用户数据保存网页应用的Python实现


核心知识点

  • 文件读写操作:使用Python的open()函数读取和写入文件
  • HTTP请求模拟:模拟用户提交数据到服务器(可选但可增强项目功能)
  • 数据结构操作:字符串的拼接与处理

思路分析

本项目旨在实现一个小型网页应用,用户输入姓名和年龄后,系统将数据保存至本地文件。核心功能包括:
1. HTML页面展示输入字段
2. 文件读写操作:保存用户输入数据到user_data.txt文件
3. 数据结构操作:字符串拼接与处理


代码实现

# 本代码实现一个保存用户姓名和年龄的网页应用

# HTML页面结构
# 注意:此处提供HTML模板,实际开发中需将其与Python代码结合使用

<!DOCTYPE html>
<html>
<head>
    <title>用户数据保存</title>
</head>
<body>
    <h2>用户数据保存</h2>
    <p>请输入姓名和年龄:</p>
    <input type="text" id="nameInput" placeholder="姓名">
    <input type="number" id="ageInput" placeholder="年龄">
    <button onclick="saveData()">保存数据</button>

    <p id="result">保存的文件内容如下:</p>

    <script>
        function saveData() {
            const name = document.getElementById('nameInput').value;
            const age = document.getElementById('ageInput').value;

            try {
                // 读取本地文件内容
                const content = document.getElementById('result').textContent;
                const file = new File([content], 'user_data.txt', { type: 'txt' });
                const reader = new FileReader();

                // 读取本地文件
                reader.onload = function (e) {
                    document.getElementById('result').textContent = e.target.result;
                };
                reader.readAsText(file);
            } catch (error) {
                alert("保存数据失败:\n" + error.message);
            }
        }
    </script>
</body>
</html>
# 实际项目实现:保存用户数据到本地文件
import os

def save_user_data(name, age):
    try:
        file_path = 'user_data.txt'
        with open(file_path, 'r', encoding='utf-8') as file:
            data = file.read()
            if data == '':
                file.write(f"{name}:{age}")
                print("保存成功:", file_path)
            else:
                print("已保存:", file_path)
    except Exception as e:
        print("保存数据失败:", e)

# 示例使用
name = '张三'
age = 22
save_user_data(name, age)

总结

该实现通过Python完成了用户输入处理和本地数据保存功能,核心知识点涵盖文件读写和HTTP请求模拟。代码示例清晰标注了使用的编程语言,并包含注释解释每个部分的作用。项目可在1~3天内完成,适合中级程序员学习。


发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注