不使用条件打印数据文件中的所有行

时间:2012-05-02 21:13:44

标签: python

file = open("datafile1.txt", "rU")
for line in file:
    line = line.strip()
    print line
    for element in line:
         line = 2

这是我目前所拥有的,输出看起来像我创建的简单数据文件:

blind
element
baker
enjoy

对应于我想要读取的datafile1中输入的内容。 我试图读取这个datafile1并打印所有行,但第一个没有if条件。我想在for循环中切片[2:],但我无法弄清楚如何只打印元素,面包师,并享受“不打印第一行是盲目的”。

请你给我一些建议如何在不使用if语句的情况下阅读和打印这些字符。我知道的唯一方法是使用Try,除了替换if语句并只读取文件的最后三行。任何建议,将不胜感激。

感谢

3 个答案:

答案 0 :(得分:2)

文件对象的工作方式与迭代器类似,因此您可以next()在实际迭代它们之前使用一个元素(一行)。

file = open("datafile1.txt", "rU")
next(file, None)
for line in file:
    line = line.strip()
    print line

对于小文件,您还可以将其读入列表,然后使用切片运算符:

with open("datafile1.txt", "rU") as f:
    lines = f.readlines() # or lines = [l.strip() for l in f]
for line in lines[1:]:
    print line

答案 1 :(得分:2)

你冷酷地使用这样的东西:

with open("datafile1.txt") as file:
    next(file)
    for line in file:
       #do something awesome

希望这有帮助!

答案 2 :(得分:0)