【发布时间】:2019-07-24 16:40:18
【问题描述】:
我有一个格式如下的文件:
...
[1, 2, 10, 15, 22]_[18, 23]-0
[0, 2, 10, 21, 23]_[9, 10]-1
[0, 9, 13, 14, 18]_[7, 13]-1
[8, 11, 12, 13, 23]_[8, 11]-1
...
我正在使用open(file_path).readlines()阅读文件
我想用'-'分割内容。我在每一行都有一个 for 循环和拆分功能。代码如下:
file_path = os.path.join(file_directory, file_name)
file_lines = open(file_path, 'r').readlines()
for line in file_lines:
var1 = line.split('-')[0]
var2 = line.split('-')[1]
代码在中间中断,错误为list index out of range
当我打印该行以调试正在发生的事情时,它会正确打印行,但有错误的行除外; [8, 11, 12, 13, 23 在这个例子中。当我再次运行它时,有时它不会失败,但有时它会在另一行失败。
我也试过了:
with open(file_path, 'r') as f:
for line in f:
...
但得到了相同的结果。
我想知道可能是什么问题。
【问题讨论】:
-
你能发布完整的循环代码吗?
-
@darshvader,我做到了。
-
请更正您的代码,
.split(-)将给出语法错误。 -
@Tomothy32,我更正了。在这里写错字了。
标签: python python-3.x readline