在上面代码的基础上进一步优化,在操作页面显示编辑日记和查看日记两个功能选项,将日记信息写入到txt文件之前,需先拼凑好txt文件名,再判断本地是否已存在此文件,这里可通过输入流尝试获取此文件的字节流,如果获取成功,则证明这个文件已存在,那么就通过输出流向文件末尾追加日记信息,如果获取失败,即异常,说明之前并没有生成日记信息,则需要新建此文件
时间: 2023-10-23 08:12:42 浏览: 72
好的,让我们来一步步实现这个功能。
首先,我们需要在操作页面显示两个选项,一个是编辑日记,一个是查看日记。我们可以使用 Python 中的 `input()` 函数来接收用户输入的选项。
```python
while True:
print("请选择操作:")
print("1. 编辑日记")
print("2. 查看日记")
choice = input()
if choice == "1":
# 编辑日记的代码
pass
elif choice == "2":
# 查看日记的代码
pass
else:
print("请输入正确的选项!")
```
接下来,我们需要拼凑出日记文件的文件名。我们可以使用 Python 的日期时间模块 `datetime` 来获取当前日期时间,并将其作为文件名的一部分。
```python
import datetime
now = datetime.datetime.now()
filename = f"{now.year}-{now.month}-{now.day}.txt"
```
现在,我们需要判断本地是否已经存在此文件。我们可以使用 Python 的 `os` 模块来判断文件是否存在。如果文件存在,我们可以使用 `open()` 函数打开文件,并将文件指针移动到文件末尾,以便向文件中追加日记信息。如果文件不存在,我们可以使用 `open()` 函数创建新文件。
```python
import os
if os.path.exists(filename):
with open(filename, "a") as f:
# 文件存在,将文件指针移动到文件末尾
pass
else:
with open(filename, "w") as f:
# 文件不存在,创建新文件
pass
```
现在,我们可以在编辑日记的代码中,将编辑好的日记信息追加到文件中。在查看日记的代码中,我们可以使用 `open()` 函数打开文件,并读取其中的内容,然后将其输出到控制台。
下面是完整的代码:
```python
import os
import datetime
while True:
print("请选择操作:")
print("1. 编辑日记")
print("2. 查看日记")
choice = input()
if choice == "1":
# 编辑日记
now = datetime.datetime.now()
filename = f"{now.year}-{now.month}-{now.day}.txt"
if os.path.exists(filename):
with open(filename, "a") as f:
content = input("请输入日记内容:")
f.write(f"\n\n{now}\n{content}")
print("日记已保存!")
else:
with open(filename, "w") as f:
content = input("请输入日记内容:")
f.write(f"{now}\n{content}")
print("日记已保存!")
elif choice == "2":
# 查看日记
now = datetime.datetime.now()
filename = f"{now.year}-{now.month}-{now.day}.txt"
if os.path.exists(filename):
with open(filename, "r") as f:
content = f.read()
print(content)
else:
print("今天还没有写日记!")
else:
print("请输入正确的选项!")
```
现在,我们已经实现了将日记信息写入到 txt 文件,并且能够根据用户的选择,进行编辑日记和查看日记的操作。
阅读全文