gpt4 book ai didi

python - Python 中使用 'with' 语句的 IndexError 消息

转载 作者:行者123 更新时间:2023-11-30 23:45:18 24 4
gpt4 key购买 nike

我将输入和输出变量分配给函数定义,以从 GUI 中获取条目,输入(读取)一个 .txt 文件并创建(写入)一个输出 .txt 文件,该文件将分割下面的一些数据列:

def runTransferDialog():
e1, e2 = StringVar(), StringVar()
PackDialog(e1, e2)
input, output = e1.get(), e2.get() # GUI entries assigned to variables
if input !='' and output !='':
with open(input, 'r') as input1: # read input .txt file
with open(output, 'w') as output1: # write input .txt file
for line in input1:
columns = line.strip().split()
output1.write('{:8}{:8}\n'.format(columns[0], columns[3])

编译后,我收到“IndexError:列表索引超出范围”,确实生成了输出 .txt 文件,但其中没有数据列。发生了什么?

最佳答案

columns 列表的元素很可能少于 4 个,因此最后一行中的 columns[3] 会引发 IndexError.如果不知道 line 是什么,就很难说清楚。将最后一行设置为获取一些调试信息:

try:
output1.write('{:8}{:8}\n'.format(columns[0], columns[3])
except IndexError, e:
print repr(line)
# Alternatively
#output1.write("Error: " + repr(line))
raise

关于python - Python 中使用 'with' 语句的 IndexError 消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9611643/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com