[英]Print line of a txt file in python create break line when print
我是python的新手,正在尝试读取简单txt文件的每一行,但是当在终端中打印出结果时,每一行之间都有一个空行,该行在txt文件中不存在,我有使用strip()方法避免出现该行,这是代码:
ins = open( "abc.txt", "r" )
array = []
for line in ins:
array.append( line )
ins.close()
for riga in array:
if line.strip() != '':
print riga
这是txt文件:
a
b
c
这是终端中的结果:
a
b
c
我不明白为什么要在a,b,c之间建立一条空白线,任何想法?
因为文本文件中的所有内容都是字符,所以当您看到类似以下内容的内容时:
a
b
c
它实际上 a\\nb\\nc\\n
, \\n
表示换行,这就是为什么要获得额外空间的原因。 如果您想按原样将文本文件中的所有内容打印到输出控制台中,我将按照以下方式修复您的print
语句:
print riga,
这样可以防止添加额外的换行符\\n
。
应该是:
for riga in array:
if line.strip() != '':
print riga
这个:
for riga in array:
if riga.strip() != '': # <= riga here not line
print riga.strip() # Print add a new line so strip the stored \n
或者更好:
array = []
with open("abc.txt") as ins:
for line in ins
array.append(line.strip())
for line in array:
if line:
print line
当您运行line.strip() != ''
,我认为这并没有达到您的期望。
line
上调用strip()
字符串方法,这将是文件的最后一行,因为您已经遍历了上一个for
循环中的所有line
s,而将line
变量分配给了最后一个。 line
返回的剥离字符串是否不等于''
。 riga
。 您需要在要打印的字符串上运行strip()
,然后存储结果或立即将其打印出来,为什么不将其全部放入for
循环中,如下所示:
array = []
with open("abc.txt", "r") as f:
for line in f:
array.append(line.strip())
print(array[-1])
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.