【问题标题】:Python: Too much space between printing lines read from a text file [duplicate]Python:从文本文件中读取的打印行之间的空间太大[重复]
【发布时间】:2016-08-30 22:21:15
【问题描述】:

我有这个小问题。 如果我从 txt 文件的内容创建一个列表并逐行打印,那么这些输出之间会有很大的空间。

点赞:

名字

名字

街道

这就是我想要的样式:

名称
名称
街道

这是代码:

import os.path

print('Get User Data')
print()
vName = input('Vorname:   ')
nName = input('Nachname:  ')


data = [vName, nName]

if os.path.isfile('data/'+vName+'_'+nName+'.txt'):
    file = open('data/'+vName+'_'+nName+'.txt', 'r')
    content = file.readlines()
    for element in content:
        print(element)
else:
    data.append(input('Straße/Nr.:'))
    file = open('data/'+vName+'_'+nName+'.txt', 'w')
    for row in data:
        file.write(row)
    print()
    print('New File created. --> /data/'+vName+'_'+nName+'.txt')

file.close()

有人可以解释为什么会发生这种情况以及如何解决吗? 谢谢你:)

【问题讨论】:

  • 在打印前剥离字符串。

标签: python list file read-write


【解决方案1】:

您只需在打印前去掉换行符\n

element.strip('\n') 将完成工作。

if os.path.isfile('data/'+vName+'_'+nName+'.txt'):
    file = open('data/'+vName+'_'+nName+'.txt', 'r')
    content = file.readlines()
    for element in content:
        element = element.strip('\n') # this is the line we add to strip the newline character
        print(element)

【讨论】:

  • 谢谢哈里森!
  • 没问题!希望我能帮到你! :)
  • 这不起作用。 .strip() 无法修改字符串。你需要element=element.strip('\n')
  • @viraptor 哎呀,忘了strip() 返回字符串的副本。修正了:) 感谢您指出这一点!
【解决方案2】:

this Stackoverflow question 相关:如果您不想更改输入,您可以停止 print 添加换行符。

在 Python 3 中,print 语句已更改为函数。在 Python 3 中,您可以改为:

 print('.', end="")

【讨论】:

    【解决方案3】:

    当您读取文件的行时,每行都包含一个字符,以跳到新行(换行符)。当您打印每一个时,print 也会添加一个,因此您现在在每个“真实”行之间有一个额外的空白行。正如@FamousJameous 指出的那样,解决方案是在打印之前使用strip 从字符串中删除换行符。

    【讨论】:

      【解决方案4】:
      for a in list(range(9)):
          print(a, file=open('file.txt', 'a'))
      

      【讨论】:

      • 请编辑更多信息。不鼓励使用纯代码和“试试这个”的答案,因为它们不包含可搜索的内容,也没有解释为什么有人应该“试试这个”。我们在这里努力成为知识的资源。
      猜你喜欢
      • 2022-10-04
      • 2022-10-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多