【问题标题】:How to copy text from a file to a list in Python?如何将文本从文件复制到 Python 中的列表?
【发布时间】:2020-09-03 10:08:43
【问题描述】:

我试图从中提取文本的文件夹中有几个文件,原因是我最终想将此文本添加到新创建的单独文件中。我的策略是初始化一个列表并用每个文件中的文本一个一个地填充它。我已将此列表称为myLines

myLines = []

 for line in f:
        myLines.append(line)
    for element in myLines:
        f.write(myLines)

我收到一个错误,我知道这与 .write() 不接受 myLines 有关,因为它是一个列表而不是一个参数。我将如何将mylines 的内容变成write() 方法的可接受参数?

谢谢

【问题讨论】:

    标签: python string list file


    【解决方案1】:

    试试这个 -

        myLines = []
    
         for line in f:
                myLines.append(line)
            for element in myLines:
                f.write(str(myLines))
    

    只需将 myLines 转换为字符串。如果你想保留类型列表,你也可以使用类,但是会有点长。

    【讨论】:

      【解决方案2】:

      IDK,您使用myLines 作为变量名的目的是什么。根据您的描述,它应该是文本列表,而不是行列表。

      my_texts = []
      
      # populate my_texts
      for filename in input_files:
          with open(filename) as f:
              my_texts.append(f.read())
      
      # write new file
      with open('new_file_path.txt', 'w') as f:
          f.write('\n'.join(my_texts))
      

      假设您想要一个新行分隔每个文件中的文本。

      更直接的方法是 1) 以附加模式 (open('out_file_path', 'a')) 打开输出文件,以及 2) 循环读取每个输入文件,将内容写入输出文件。

      【讨论】:

        猜你喜欢
        • 2017-04-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-01-23
        • 2013-04-23
        • 2017-12-20
        • 2012-11-07
        • 2021-05-15
        相关资源
        最近更新 更多