如何保存打印语句的输出

问题描述

我只想将每个for循环的print语句的输出保存到一个名为test.txt的文本文件中,并且在文本文件中每个for循环的输出应以>>>符号分隔,再加上一个文本文件顶部的标题为“ column-a”。我尝试过的代码如下:

a = ['oof','rab','zab']
for i in range(1,5):
    for file in a:
        print('>>>')
        data=print(file)
with open(“test.txt”,w) as f: 
f.write(data)

通过执行上面的代码,我像下面这样

oof
rab
zab
oof
rab
zab
oof
rab
zab
oof
rab
zab

但是我需要如下输出 test.txt

column-a
>>> 
oof
rab
zab
>>>
oof
rab
zab
>>>
oof
rab
zab
>>>
oof
rab
zab

我希望我能得到一些解决方案。谢谢。

解决方法

print语句可用于使用file关键字参数直接写入打开的文件:

items = ['oof','rab','zab']

with open('file.txt','w') as file:

    # header
    print('column-a',file=file)

    # loop with >>> separators
    for i in range(5):
        print('>>>',file=file)

        # print list items
        for item in items:
            print(item,file=file)

上面的代码创建一个file.txt文件,其内容为:

column-a
>>>
oof
rab
zab
>>>
oof
rab
zab
>>>
oof
rab
zab
>>>
oof
rab
zab
>>>
oof
rab
zab
,

您只需要写入文件以及在屏幕上打印即可。请注意,您的代码中还会有UTF-8“ 66&99”双引号,而不是简单的"字符。

a = ['oof','zab']
f = open( "test.txt","wt" )
for i in range( 1,5 ):
    for word in a:
        print( word )
        f.write( word + "\n" )
    print( '>>>' )
    f.write( '>>>' + "\n" )
f.close()

            

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...