为什么我的档案关闭?

时间:2016-01-29 00:06:28

标签: python

出于某种原因,在我调用readlines()之后似乎无法访问我的文件 知道为什么吗?

主要关注的是,for-loop之后没有工作。它没有遍历这些线。

with open('wordlist.txt') as fHand:
    content = fHand.readlines()

    lines = 0

    for _ in fHand:
        lines += 1

1 个答案:

答案 0 :(得分:4)

fHand.readlines()读取整个文件,因此文件指针位于文件的末尾。

如果你真的想这样做(提示:你可能不会),你可以在fHand.seek(0)循环之前添加for,将指针移回文件的开头。 / p>

with open('wordlist.txt') as fHand:
    content = fHand.readlines()
    fHand.seek(0)

    lines = 0
    for _ in fHand:
        lines += 1

通常,当您在Python中查看文件时,.read*命令不是您正在寻找的命令。在你的情况下,你应该做的事情如下:

words = set()  # I'm guessing

with open("wordlist.txt") as fHand:
    linecount = 0
    for line in fHand:
        # process line during the for loop
        # because honestly, you're going to have to do this anyway!
        # chances are you're stripping it and adding it to a `words` set? so...
        words.add(line.strip()
        linecount += 1