1
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:],但我不知道如何打印元素,baker,并享受“不打印第一行是盲目的”。

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

谢谢

4

3 回答 3

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
于 2012-05-02T21:17:37.403 回答
2

你冷使用这样的东西:

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

希望这可以帮助!

于 2012-05-02T21:19:46.593 回答
0

您可以使用linecache.getline(filename, lineno)

于 2012-05-02T21:21:24.860 回答