【问题标题】:Open file and read using python2.7 [duplicate]使用python2.7打开文件并读取[重复]
【发布时间】:2016-06-23 09:23:38
【问题描述】:
def read_text():
    quotes = oepn("C:\Python27\houston.txt")
    contents_of)file = quotes.read()
    print(contents_of_file)
    quotes.close()
read_text()

上面的代码在我的 shell 中运行良好,我想你也可以运行它。 ("C:\Python27\houston.txt") 是 txt 存储的地方,它告诉这个.... - 休斯顿,我们有一个问题。 (阿波罗 13 号)

-- 妈妈常说,人生就像一盒巧克力。你永远不知道你会得到什么。 (阿甘正传)

-- 你无法处理真相。 (几个好男人)

-- 我相信一切,我什么也不相信。 (黑暗中的一枪)

不管怎样,我只是在我的代码中给它一点不同,但它不起作用。

我不知道为什么;;;请检查一下

quotes = open("C:\Python27\houston.txt")
contents_of_file = quotes.read()
print(quotes.read())
quotes.close()

请参阅...我只用引号替换 content_of_file 。read() 但它不起作用。 你能告诉我为什么吗???为什么会这样?

【问题讨论】:

  • 你为什么要给quotes.read()打两次电话?执行一次将文件的全部内容作为字符串获取。我不明白你在做什么。
  • 您的“工作”代码有拼写错误。下次请复制粘贴实际工作代码。

标签: python python-2.7 quotes


【解决方案1】:

当您调用quotes.read() 时,它会读取整个文件并将光标放在文件末尾。所以,在第二次调用时,它从文件末尾开始读取,显然你什么也得不到。

您可以调用quotes.seek(0) 再次将光标置于文件开头。然后再次调用quotes.read() 就可以了。

当您打印contents_of_file 时,它可以工作,因为您已经将文件的全部内容作为字符串保存在该变量中。

但是,当您打印quotes.read() 时,您基本上是调用了两次quotes.read()。所以,你什么也得不到。

所以,如果您真的想拨打两次read(),请执行以下操作:

quotes = open("C:\Python27\houston.txt")
contents_of_file = quotes.read()
quotes.seek(0)
print(quotes.read())
quotes.close()

【讨论】:

  • 这就是我一直在寻找的!感谢您为初学者分享宝贵的知识。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-10-21
  • 1970-01-01
  • 2012-09-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-12-09
相关资源
最近更新 更多