首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何从文件中打印特定行

如何从文件中打印特定行
EN

Stack Overflow用户
提问于 2016-04-18 17:27:58
回答 6查看 10.6K关注 0票数 3

我试图从文件“分数”中打印一个特定的行,这是选项B。这是我的代码:

代码语言:javascript
运行
复制
print("Option A: Show all scores\nOption B: Show a record\nOption Q: Quit")
decision = input("Enter A, B, C or Q: ")
myFile = open("Scores.txt", "rt")
if decision == "A":
    record = myFile.read()
    print(record)
    myFile.close()
elif decision == "B" or decision == "b":
    playerName = input("Enter a player name to view their scores: ")
    record = myFile.read()
    answer = record.find(playerName)
    for line in answer:
        print(line)
elif decision == "Q" or decision == "q":
    exit

我选择了选项B,然后输入了一个保存玩家得分的球员名,但是它抛出了以下错误消息:

代码语言:javascript
运行
复制
line 12, in <module>
for line in answer():
TypeError: 'int' object is not callable
EN

Stack Overflow用户

发布于 2016-04-25 18:14:21

一种更安全的读取文件和查找数据的方法,以便在将整个文件存储在内存中时不会出现OutOfMemory问题。

代码语言:javascript
运行
复制
playerName = input("Enter a player name to view their scores: ")
with open("Scores.txt", 'r') as f:
    for row in f:
        if playerName in row:
            print row

这样,您将使用with,它将在程序结束时或垃圾收集启动时自行关闭文件。这样,python将逐行读取文件,并且只在内存中存储1行。因此,您可以使用巨大的文件,而不必担心内存问题。

希望它有帮助:)

票数 2
EN
查看全部 6 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36700551

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档