繁体   English   中英

通过Python读取文本文件时如何保持文本文件的格式?

[英]How do I maintain the format of a text file when reading a text file through Python?

我有一个.txt文件,其中有一个看起来像这样的项目列表:

BLAH
ONE
TWO
THREE
FOUR

我目前正在使用Python读取该.txt文件并打印出文本行。 我遇到的问题是,打印的行同时显示\\n的换行符和逗号。 当我从.txt文件中打印数据时,它看起来像这样:

BLAH \n, ONE \n, TWO \n, THREE \n, FOUR

我尝试使用.replace("\\n,", "")尝试至少摆脱不想要的字符,但这似乎不起作用。 如何通过Python命令从.txt文件中保持相同的格式?

根据要求,这是我的代码:

file = open("plstemp.txt", "r")
      abc=str(file.readlines())
      wow = abc.replace("[", "").replace("]", "").replace("'", "")
      print(wow)
      file.close()

我想要的输出如下:

BLAH
ONE
TWO
THREE
FOUR

令人怀疑的是,您正在使用readlines ,这将为您提供列表。 列表中的每个项目都是文件中的一行。 您无需完全替换'['。 您需要意识到这里实际上有一个列表。

因此,执行file.readlines() ,您将拥有:

['BLAH\n', 'ONE\n', 'TWO\n', 'THREE\n', 'FOUR\n']

如果您改用file.read()并打印出结果:

BLAH
ONE
TWO
THREE
FOUR

请记住,您仍然有一个'\\ n',因为实际上您需要它在上面显示输出,因为'\\ n'实际上是一个特殊字符,表示“换行符”。

因此,只需重新编写代码即可(您无需指定“ r”,因为默认情况下为“ r”):

file = open("plstemp.txt")
abc=file.read()
file.close()
print(abc)

readlines将文件的行作为列表返回,但是随后将str函数应用于列表,该函数将列表转换为字符串; 这就是为什么您得到不需要的[]

如果您只想读取整个文件,则可以执行以下操作

f = open("plstemp.txt", "r")
wow = f.read()
f.close()
print(wow)

还要避免使用file作为变量名,因为它是python的内置类型。

好的,现在可以看到您的代码了:)

readlines()以及for循环将返回一个列表。 您正在清单上使用str()函数,但我认为这行不通。 我认为idjaw的答案是正确的。 您也可以尝试:

file = open("plstemp.txt", "r")
      abc=file.readlines()
      wow = ",".join(abc) #joining a list into a string by commas as a separator
      print(wow)
      file.close()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM