问题描述
我只想将每个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()