我想要做的就是创建每行的起始位置列表,这样我就可以非常快速地找到它们.我收到错误,"通过'next()'调用告诉我们禁用位置." 我该如何克服这个问题?
>>> in_file = open("data_10000.txt")
>>> in_file.tell()
0
>>> line_numbers = [in_file.tell() for line in in_file]
Traceback (most recent call last):
File "<pyshell#9>", line 1, in <module>
line_numbers = [in_file.tell() for line in in_file]
File "<pyshell#9>", line 1, in <listcomp>
line_numbers = [in_file.tell() for line in in_file]
OSError: telling position disabled by next() call
Run Code Online (Sandbox Code Playgroud)
注意:在此上下文中,索引会将行号与搜索位置相关联.
我正在尝试使用分隔符“@|@”生成 csv,但是我无法通过下面的代码实现。
import csv
ifile = open('test.csv', "rb")
reader = csv.reader(ifile)
ofile = open('ttest.csv', "wb")
writer = csv.writer(ofile, delimiter='|', quotechar='"', quoting=csv.QUOTE_ALL)
for row in reader:
writer.writerow(row)
ifile.close()
ofile.close()
Run Code Online (Sandbox Code Playgroud)
运行时,它抛出以下错误。
import csv
ifile = open('test.csv', "rb")
reader = csv.reader(ifile)
ofile = open('ttest.csv', "wb")
writer = csv.writer(ofile, delimiter='|', quotechar='"', quoting=csv.QUOTE_ALL)
for row in reader:
writer.writerow(row)
ifile.close()
ofile.close()
Run Code Online (Sandbox Code Playgroud)
我怎样才能实现这个目标?