将行输入到文件的开头和结尾

时间:2016-11-14 15:37:47

标签: python python-2.7

我需要将行发送到名为testPrint.txt的文件的开头和结尾。我需要发送的行存储在testValues.txt中。为此,我需要第三个文件将所有这些写入tempFile.txt

  1. 我需要将testValues.txt的行写到tempFile.txt

  2. 将数据从testPrint.txt附加到tempFile.txt

  3. 接下来,将testVaules.txt的行附加到tempFile.txt

  4. 最后,复制tempFile.txt中的内容并覆盖testPrint.txt上的数据,以便在文件的开头和结尾包含我的testValues.txt
  5. 这可能吗?如果是这样,怎么样?

3 个答案:

答案 0 :(得分:1)

我需要写出从testValues.txttempFile.txt的行。

open('tempFile.txt', 'w').write(open('testValues.txt').read())

将数据从testPrint.txt附加到tempFile.txt

open('tempFile.txt', 'a').write(open('testPrint.txt').read())

接下来,将testVaules.txt的行添加到tempFile.txt

open('tempFile.txt', 'a').write(open('testVaules.txt').read())

最后,复制tempFile.txt中的内容并覆盖testPrint.txt上的数据,以便在文件的开头和结尾包含我的testValues.txt

open('testPrint.txt', 'w').write(open('tempFile.txt').read())

另一种选择:

tv = open('testVaules.txt').read()
open('testPrint.txt', 'w').write(tv + open('testPrint.txt').read() + tv)

答案 1 :(得分:0)

写到文件的末尾:

  with open('file.txt', 'a') as outfile:
      outfile.write(row)

写到开头:

  data = []
  with open('file.txt', 'r') as infile:
      for row in infile:
          data.append(row)
  with open('file.txt', 'w') as outfile:
      for row in data:
          outfile.write(row)

答案 2 :(得分:0)

当然,这是可能的,虽然我不明白为什么你需要临时文件。只需将数据保存在内存中即可。

  1. 以只读模式打开testValues.txttestPrint.txthandle = open(..., 'r')
  2. 使用content = handle.read()
  3. 读取数据
  4. 使用handle.close()
  5. 关闭文件
  6. 以书写模式(test.Print.txt
  7. 打开handle = open(..., 'w')
  8. 按照您想要的顺序写下您想要的内容并关闭。
  9. (而不是明确的close您可能希望将open用作上下文管理器:

    with open('testValues.txt', 'r') as testValuesFile:
        testValues = testValuesFile.read()