【问题标题】:How do I read a text file as a string?如何将文本文件作为字符串读取?
【发布时间】:2026-01-29 00:30:01
【问题描述】:

以下是我尝试在名为check_keyword()的方法中读取文本文件中的文本的代码

def check_keyword():
    with open(unknown.txt, "r") as text_file:
        unknown = text_file.readlines()

    return unknown

这就是我调用方法的方式:

dataanalysis.category_analysis.check_keyword()

文本文件中的文字:

Hello this is a new text file 

上面的方法没有输出:((

【问题讨论】:

  • 如果你要返回一个这样的打开文件,你并没有关闭它。
  • 抱歉,我正在回复@RahulKP

标签: python text-files


【解决方案1】:

text_file.readlines() 返回包含文件中行的字符串列表。如果您只想要一个字符串,而不是行列表,请改用text_file.read()

您的代码中还有另一个问题,您正在尝试打开 unknown.txt,但您应该尝试打开 'unknown.txt'(带有文件名的字符串)。

【讨论】:

  • 哦,好吧,我已经改变了,但仍然没有输出文本文件...@Tomothy32
  • 您是否收到任何错误或只是没有返回值?另外,请确保文件名正确且文件不为空。
  • @School 你可以试试打印unknown吗?这应该可以,所以请发布您更新的代码。
  • @Tomoth32 我尝试打印出未知但它没有给我任何东西
  • 我看不出任何可能的原因导致这不起作用。请发布您的更新代码。
【解决方案2】:

你可以这样做:

with open("foo","r") as f:
    string = f.read()

【讨论】:

  • 那么我应该如何编写它并在我的方法中返回它,因为我尝试打印(字符串)但没有输出......@power.puffed
  • def check_keyword(): with open("foo.txt", "r") as text_file: unknown = text_file.read() return unknown 打印为: print(check_keyword()) 给出正确为我输出,使用 python 3
  • 它什么也没给我 :((@power.puffed
【解决方案3】:

而不是text_file.readlines() 使用text_file.read(),它将以字符串格式而不是列表为您提供文件内容。

【讨论】:

    【解决方案4】:

    代码只是基于以上所有答案的工作代码。

    def check_keyword():
        with open("unknown.txt", "r") as text_file:
             unknown = text_file.read()
    
         return unknown
    
    check_keyword()
    

    【讨论】:

      【解决方案5】:

      实际上我已经制作了一个完整的库来让所有人都能轻松地完成这项工作

      from filemod import reader
      data=reader("file.txt"))
      print(data)
      

      【讨论】:

      • 这个答案不清楚。模块filemod 来自哪里?您自己使用实现吗?如果您不共享源代码,其他人如何使用此实现?