Python FileNotFoundError:[Errno 2] 解决'kaoqin.txt'文件不存在的问题
Python FileNotFoundError:[Errno 2] 解决'kaoqin.txt'文件不存在的问题
如果您在运行 Python 代码时遇到 'Traceback (most recent call last):
File '2.py', line 5, in
为了解决这个问题,您可以使用 try-except 语句来捕获 FileNotFoundError 异常,并在文件不存在时进行处理。
以下是更新后的代码:
zd_1 = {}
# 从kaoqin.txt中读取存储的内容作为考勤统计数据的基数
try:
with open(file='kaoqin.txt', mode='r', encoding='utf-8') as f:
for line in f.readlines():
xh, cs = line.strip().split(':')
zd_1[xh] = int(cs)
except FileNotFoundError:
print('找不到kaoqin.txt文件,将创建一个空的考勤统计数据。')
while True:
yhsr = input('请输入七位学号(exit,quit):')
if yhsr == 'quit' or yhsr == 'exit':
print('*' * 20 + '结束' + '*' * 20)
for a, b in zd_1.items():
print(a, b)
break
if yhsr not in zd_1:
yhsr_2 = input('确定要登入吗(yes/no): ')
if yhsr_2 == 'yes':
zd_1[yhsr] = 1
else:
print('不录入无需操作')
else:
zd_1[yhsr] = zd_1[yhsr] + 1
print('已在考勤表中')
# 保存现有统计数据到kaoqin.txt
with open(file='kaoqin.txt', mode='w', encoding='utf-8') as f:
for key, value in zd_1.items():
f.write('{}:{}
'.format(key, value))
代码说明:
try-except语句:try块包含尝试打开 'kaoqin.txt' 文件并读取数据的代码。except FileNotFoundError:块将在try块中发生FileNotFoundError时执行,例如文件不存在时。
- 文件不存在时的处理:
- 如果文件不存在,代码将打印一条消息 '找不到kaoqin.txt文件,将创建一个空的考勤统计数据。'。
- 然后,代码将继续执行,并使用一个空的
zd_1字典来存储考勤数据。
运行代码之前:
- 确保在运行代码之前已经创建好了 'kaoqin.txt' 文件(如果需要)。
- 文件中的数据格式应为 '学号:次数',例如 '2021001:3'。
通过使用 try-except 语句,您的代码将更加健壮,并且能够更好地处理文件不存在的情况。
原文地址: https://www.cveoy.top/t/topic/dbXA 著作权归作者所有。请勿转载和采集!