我编写了一个脚本,从两个不同的文件中读取数据并相应地继续.但是,当我编写脚本时,我的印象是我正在阅读的第一个文件只有两行,遗憾的是后来这已经改变了.
我的代码提取前两行并将数据传递给另一个函数,然后通过多个其他函数继续进行计算.
现在我正在做这样的事情:
try:
file = open(myfile, 'r')
for line in file:
if line[0] != '|':
name = line.strip('\n')
else:
data = line.strip('|\n')
Run Code Online (Sandbox Code Playgroud)
通常,该文件如下所示:
Samantha
|j&8ju820kahu9|
Run Code Online (Sandbox Code Playgroud)
现在,遗憾的是,我可以拥有一个可以有多行的文件,如下所示:
Andy
|o81kujd0-la88js|
Mathew
|a992kma82nf-x01j4|
Andrew
|01ks83nnz;a82jlad|
Run Code Online (Sandbox Code Playgroud)
有没有办法可以从文件中一次提取两行?处理它们然后继续提取两个?所以抓住前两行,给它们命名+数据,将它传递给我的函数,最后打印所需的内容,然后得到新的两行,依此类推.
请指教.
是的,因为文件上下文也是一个迭代器:
with open(filename, 'r') as f:
for l1, l2 in zip(f, f):
# ... do something with l1 and l2
Run Code Online (Sandbox Code Playgroud)
这是最短和最pythonic方式afaik.
| 归档时间: |
|
| 查看次数: |
143 次 |
| 最近记录: |