我试图为我的程序(python)编写一个小函数,它将一些数据写入csv文件。输入数据来自另一个文件。两个文件都打开了! 实际读写过程的代码是:
while aux != '':
data = f.read(4)
data = unpack('I', data)
data = list(data)
writer.writerow(data)
else:
print('done')
此代码到目前为止工作正常,但有时我的输入数据在最后一个读取过程中没有留下4个字节,所以它给了我错误" struct.error:unpack需要一个字符串长度为4"。
的论点这对我来说完全没问题,我最后不介意一些数据,但这个错误会阻止我的整个程序。 如果发生此错误,有没有办法停止该功能并返回主程序?或者只是停止while循环并继续使用"否则:"一部分?
答案 0 :(得分:0)
这应该这样做:
try:
data = unpack('I', data)
except struct.error as err:
print(err)
通过这种方式,您可以知道何时出现问题,但程序执行将继续。
请阅读Python error handling了解完整故事。