网站首页 > 技术文章 正文
学姐的小建议,用Python写一个简单的日记本程序,记录生活点滴哦
亲爱的小伙伴们~今天学姐要教大家用Python写一个可爱的日记本程序呢!作为一个爱写日记的女生,我觉得用代码实现一个属于自己的日记本,既能记录生活中的点点滴滴,又能提升编程技能,简直是太棒啦!我们会用到文件操作、日期处理和简单的用户交互,让我们一起开始吧!

准备工作
首先我们需要导入一些必要的模块。这里主要用到datetime模块来处理日期,用os模块来处理文件和目录哦~
from datetime import datetime
import os
# 创建日记存放的文件夹
if not os.path.exists('my_diary'):
os.makedirs('my_diary')
写日记的核心功能
接下来我们来实现写日记的主要功能,包括记录日期、心情和日记内容~
def write_diary():
date = datetime.now().strftime('%Y-%m-%d')
print('今天是:', date)
mood = input('今天的心情如何呢?(开心/难过/平静): ')
content = input('来说说今天发生的事情吧:\n')
# 将日记保存到文件中
filename = f'my_diary/{date}.txt'
with open(filename, 'w', encoding='utf-8') as f:
f.write(f'日期:{date}\n')
f.write(f'心情:{mood}\n')
f.write(f'内容:\n{content}\n')
print('日记保存成功啦!(*^▽^*)')
小贴士:这里使用了with语句来操作文件,它可以帮我们自动关闭文件,很方便呢!
查看日记的功能
写完日记,当然要能随时翻看才行啦~
def read_diary():
diary_files = os.listdir('my_diary')
if not diary_files:
print('还没有写过日记呢,快去记录今天的生活吧!')
return
print('现有的日记列表:')
for i, file in enumerate(diary_files, 1):
print(f'{i}. {file[:-4]}') # 去掉.txt后缀
choice = input('想看哪一天的日记呢?请输入序号: ')
try:
index = int(choice) - 1
filename = f'my_diary/{diary_files[index]}'
with open(filename, 'r', encoding='utf-8') as f:
print('\n' + '='*20 + '日记内容' + '='*20)
print(f.read())
print('='*50)
except:
print('输入有误啦,请重试哦~')
完整的日记本程序
让我们把所有功能组合在一起,做成一个完整的小程序吧!
def diary_menu():
while True:
print('\n欢迎使用小仙女的日记本 ヾ(≧▽≦*)o')
print('1. 写日记')
print('2. 看日记')
print('3. 退出')
choice = input('请选择想要进行的操作(输入数字): ')
if choice == '1':
write_diary()
elif choice == '2':
read_diary()
elif choice == '3':
print('下次见啦,记得常来写日记哦~')
break
else:
print('输入错误啦,请重新选择!')
if __name__ == '__main__':
diary_menu()
进阶小提示
- 可以给日记加上标题功能,让内容更加丰富。
- 试试给日记添加天气记录,记录每天的好心情~
- 学会了基础的文件操作后,可以尝试添加删除日记和修改日记的功能。
- 如果想让日记更安全,可以考虑添加密码保护功能哦!
练习小作业
- 尝试给日记本添加一个统计功能,计算总共写了多少篇日记。
- 实现按心情筛选日记的功能,比如只查看"开心"的日记。
- 给日记添加图片保存功能(提示:可以记录图片路径哦)。
小伙伴们,今天的Python学习之旅就到这里啦!记得动手敲代码,有问题随时在评论区问我哦。祝大家学习愉快,Python学习节节高!也要记得好好记录生活中美好的时刻呢!(●'?'●)
猜你喜欢
- 2025-01-07 如何用Python程序将几十个PDF文件合并成一个PDF?其实只要这四步
- 2025-01-07 PyInstaller打包工具 把Python程序变成exe好方便呀
- 2025-01-07 总结90条写Python程序的建议
- 2025-01-07 编写python程序求1~ 2012之间所有能被17或31整除的数的立方和。
- 2025-01-07 用ChatGpt编写python程序
- 2025-01-07 如何让你的Python程序,定时定点地去执行任务?
- 2025-01-07 编写python程序计算n个并联电阻的总电阻值。
- 2025-01-07 deepin os下使用Geany编写python程序
- 2025-01-07 包装600个变形金刚,用Python来编写相应的程序
- 05-25Python 3.14 t-string 要来了,它与 f-string 有何不同?
- 05-25Python基础元素语法总结
- 05-25Python中的变量是什么东西?
- 05-25新手常见的python报错及解决方案
- 05-2511-Python变量
- 05-2510个每个人都是需要知道Python问题
- 05-25Python编程:轻松掌握函数定义、类型及其参数传递方式
- 05-25Python基础语法
- 257℃Python短文,Python中的嵌套条件语句(六)
- 257℃python笔记:for循环嵌套。end=""的作用,图形打印
- 256℃PythonNet:实现Python与.Net代码相互调用!
- 251℃Python操作Sqlserver数据库(多库同时异步执行:增删改查)
- 251℃Python实现字符串小写转大写并写入文件
- 106℃原来2025是完美的平方年,一起探索六种平方的算吧
- 90℃Python 和 JavaScript 终于联姻了!PythonMonkey 要火?
- 81℃Ollama v0.4.5-v0.4.7 更新集合:Ollama Python 库改进、新模型支持
- 最近发表
- 标签列表
-
- python中类 (31)
- python 迭代 (34)
- python 小写 (35)
- python怎么输出 (33)
- python 日志 (35)
- python语音 (31)
- python 工程师 (34)
- python3 安装 (31)
- python音乐 (31)
- 安卓 python (32)
- python 小游戏 (32)
- python 安卓 (31)
- python聚类 (34)
- python向量 (31)
- python大全 (31)
- python次方 (33)
- python桌面 (32)
- python总结 (34)
- python浏览器 (32)
- python 请求 (32)
- python 前端 (32)
- python验证码 (33)
- python 题目 (32)
- python 文件写 (33)
- python中的用法 (32)