python try 报错继续循环_异常后Python继续循环

我正在尝试创建一个排除空字节的文件的新版本。我使用下面的代码来尝试,但是它仍然在空字节上中断。我应该如何构造for语句和try-catch块以在异常之后继续执行?在import csv

input_file = "/data/train.txt"

outFileName = "/data/train_no_null.txt"

############################

i_f = open( input_file, 'r' )

reader = csv.reader( i_f , delimiter = '|' )

outFile = open(outFileName, 'wb')

mywriter = csv.writer(outFile, delimiter = '|')

i_f.seek( 0 )

i = 1

for line in reader:

try:

i += 1

mywriter.writerow(line)

except csv.Error:

print('csv choked on line %s' % (i + 1))

pass

编辑:

以下是错误消息:

^{pr2}$

更新:

我用的是这个代码:i_f = open( input_file, 'r' )

reader = csv.reader( i_f , delimiter = '|' )

# reader.next()

outFile = open(outFileName, 'wb')

mywriter = csv.writer(outFile, delimiter = '|')

i_f.seek( 0 )

i = 1

for idx, line in enumerate(reader):

try:

mywriter.writerow(line)

except:

print('csv choked on line %s' % idx)

现在得到这个错误:Traceback (most recent call last):

File "20150310_rewrite_csv_wo_NULL.py", line 26, in

for idx, line in enumerate(reader):

_csv.Error: line contains NULL byte

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值