【问题标题】:Full text is not printing to a text file in Python全文未打印到 Python 中的文本文件
【发布时间】:2016-07-28 23:53:46
【问题描述】:

我正在编写一个程序来解析特定单词的文本,如果找到这些单词,我会打印 a 行和之后的 4 行,然后搜索下一个序列并执行相同操作。在交互式终端中使用 print 时,它可以工作,它会打印所有匹配的关键字,但是,当我尝试将其写入文本文件时,它会写入一个序列并关闭它。知道为什么或如何在文本文件中打印终端中显示的全文而不是仅四行吗?

for j in os.listdir(path):
 if os.path.isfile(os.path.join(path,j)) and 'nameoffile' in j:

 print  '\n'
 print j
 print  '\n'
 os.chdir(os.path.expanduser("~/Downloads/Windowslogs"))
 file = open(j, 'r')
 codes = 'error '
 for line_app in appenforce_file:
  if codes in line_app:
  #print (line_app +  ''.join(islice(appenforce_file, 4)))
   with open("streamedlog.txt", 'w') as f:
   f.write(line_app +  ''.join(islice(appenforce_file, 4)))

【问题讨论】:

  • 修正缩进。请使用多个空格进行缩进(首选 4 个),否则您的代码很难阅读。你的部分缩进对于 Python 来说是完全错误的。
  • 谢谢,我是编程/脚本领域的新​​手,现在将更改我的缩进,谢谢!

标签: python-2.7


【解决方案1】:

with open("streamedlog.txt", 'w') as f:

w 标志告诉 open “截断文件的内容,并在其中写入以下内容”。您应该在循环开始之前打开文件(并避免多次打开),或者您应该改用a 标志来附加文件。

【讨论】:

  • 谢谢!我在循环之前移动了打开,现在它正在打印所有内容! :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-12-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多