Python基础实操:登录日志记录与文件读写全解
本文通过Python实操案例演示如何编写基础控制台脚本。内容涵盖用户登录验证、基于内置file模块实现带时间戳的登录日志写入与读取,以及循环菜单交互设计。附完整代码结构与运行排查要点,帮助开发者快速掌握Python日常文件处理与输入输出核心用法。
实现用户登录与日志记录功能
第1步:搭建基础交互与菜单入口
程序启动后需向用户提供清晰的操作指引。使用print()函数输出固定提示语,并在主逻辑外封装独立函数,保持代码可读性。该步骤的目的是建立用户与程序的通信桥梁,确保后续数字指令能被准确捕获。
第2步:配置登录验证与条件分支
通过input()获取用户名与密码,使用if进行严格字符串比对。验证通过后进入权限区,执行后续日志写入或查看操作;未通过则直接拦截。此环节是脚本安全控制的起点,完成状态表现为控制台输出“登陆成功”或“用户名或密码不正确”。
import time
def show_info():
print('输入提示数字,执行相应操作:0退出,1查看登录日志')
def write_logininfo(username):
with open('log.txt', 'a') as file:
s = f'用户名{username},登录时间:{time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(time.time()))}'
file.write(s)
file.write('\n')
def read_logininfo():
with open('log.txt', 'r') as file:
while True:
line = file.readline()
if not line: # 修复原稿空字符判断歧义,改为标准空行检测
break
else:
print(line, end='\t')
if __name__ == '__main__':
username = input('请输入用户名:')
pwd = input('请输入密码:')
if 'admin' == username and 'admin' == pwd:
print('登陆成功!!!')
write_logininfo(username)
show_info()
num = int(input('输入操作数字:'))
while True:
if num == 0:
print('退出成功')
break
elif num == 1:
print('查看登录日志')
read_logininfo()
num = int(input('输入操作数字:'))
else:
print('您输入的数字有误!!!')
show_info()
num = int(input('输入操作数字:'))
else:
print('对不起,用户名或密码不正确!!!')
第3步:实现日志持久化与读取循环
利用open()以追加模式('a')打开log.txt,将格式化后的时间与用户名写入。读取时使用'r'模式配合readline()逐行打印,直至返回空字符串结束循环。重要参数说明:time.strftime()负责日期格式转换,with open() as file确保文件流在执行完毕后自动关闭,防止句柄泄露。

补充任务:模拟自动化客服回复机制
此类任务通常基于关键词匹配或规则字典实现。程序监听用户输入的文本,遍历预设的回复库(如列表或字典),命中对应触发词后输出指定应答内容。以下为该场景的典型视觉交互与流程参考:



运行检查与常见问题说明
脚本依赖当前工作目录存在可写的log.txt文件。若初次运行报错FileNotFoundError,请手动创建该文件或确认运行终端的当前路径。
原稿中读取循环的判断条件if line==' ':存在逻辑瑕疵(空格无法稳定代表EOF),已修正为if not line:以保证跨平台读取稳定性。控制台交互时务必输入纯数字,非整型输入会触发ValueError异常。
核心总结
本教程完整梳理了Python基础文件中常见的读写模式、时间戳格式化及控制台指令循环控制。掌握上述结构后,可直接迁移至更复杂的业务日志收集或简易问答机器人开发中。以上就是Python实现登录日志记录与基础文件操作与客服模拟的详细内容,更多关于Python基础文件读写与脚本开发的资料请关注本站其它相关文章!
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













