修改atm取款机数据为持久化永久存储,csv读取实现(分别使用函数实现读和取), 使用异常处理atm取款机读取csv时判断文件是否存在,如果文件不存在提示"没有文件使用原数据"
时间: 2024-12-17 07:20:20 浏览: 17
要将 ATM 取款机的数据存储为持久化的 CSV 文件,并使用异常处理来检查文件存在性,你可以这样做:
首先,我们需要编写一个函数来保存数据到 CSV 文件:
```python
import csv
import os
def save_atm_data_to_csv(data, filename):
try:
with open(filename, 'w', newline='') as csvfile:
writer = csv.writer(csvfile)
for row in data:
writer.writerow(row)
print(f"数据已成功保存至 {filename}")
except FileNotFoundError:
print("文件不存在,使用原数据")
except Exception as e:
print(f"发生错误:{e}")
# 假设data是一个二维列表,每个元素表示一次交易记录
data = [
['Transaction ID', 1234, 'John Doe', 200],
['Transaction ID', 5678, 'Jane Smith', 500]
]
save_atm_data_to_csv(data, "atm_transactions.csv")
```
接下来,我们编写一个函数从 CSV 文件中读取数据:
```python
def read_atm_data_from_csv(filename):
try:
with open(filename, 'r') as csvfile:
reader = csv.reader(csvfile)
transactions = []
for row in reader:
transactions.append(row)
return transactions
except FileNotFoundError:
print("没有文件,使用空数据")
return [] # 返回默认的空列表,如果文件不存在
except Exception as e:
print(f"发生错误:{e}")
return []
transactions = read_atm_data_from_csv("atm_transactions.csv")
```
当 `read_atm_data_from_csv` 被调用且文件不存在时,它会返回一个空列表并显示一条消息。这样,你可以确保在尝试操作 CSV 数据之前先检查其存在性。
现在,无论文件是否存在,这两个函数都会妥善地处理异常情况。
阅读全文