2014-09-24 45 views
0

我希望程序打印线中的.txt陆续打印接连线从环的文本文件延迟

import os 
import time 
with open('e.txt','rt') as f: 

    #for line in f: # for direct input 
    line = f.readline() 
    m = str(line) 
    print 'd', m 
    time.sleep(2) 

    line = f.readline() 
    g = str(line) 
    print 'f', g 

正如你看到有两条线所以在印刷他们这样工作正常,但是当我想用一个循环

with open('e.txt','rt') as f: 
    for i, l in enumerate(f): 
       pass 
     d = i + 1 
     while d > 0 : 
      #with open('e.txt','rt') as f: 
      pos = f.tell(); 
      f.seek(pos,0); 
      line=f.readline(); 
      m = str(line); 
      time.sleep(1) 
      print 't: ', m 
      d -= 1 

输出

t: 

t: 

我不明白什么是ID oing错请帮助

也预先感谢。

回答

1

好像你是矫枉过正,你可以做到这一点很简单,像这样:

​​

就是这样....

附:由于t模式是默认设置,因此您不需要rt。

编辑:与你的程序的问题是,你正在尝试,因为当你写

with open(...) as f 

f是一个文件对象打印一个对象,你不能迭代在它上面,你可以迭代f.readlines,它将文件中的行列表作为文本返回。

+0

谢谢 尽管查询已解决,但我想知道上述代码 再次感谢您的问题。 – Kruelt 2014-09-24 09:44:18

+0

阅读我的编辑,希望它解释得很好 – 2014-09-24 11:44:45

0

打开文件,迭代文件对象。

file = open('e.txt', 'r') 
for line in file: 
    print(line) 
0

“我希望该计划的另一个后打印在.TXT一个行”以最简单的形式,相当于:

with open('e.txt','r') as f: 
    for line in f: 
     print(line.strip()) 

延迟是一个选择的问题,而不是一个必要解决原来的要求。 .strip命令用于删除任何将在您的行之间产生空格的换行符。