我有一个.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
答案 0 :(得分:2)
如您所料,您正在使用readlines
,它会为您提供一个列表。列表中的每个项目都是文件中的一行。您不需要完全替换' ['。你需要在这里意识到你实际上有一个列表。
所以,做file.readlines()
,你会得到:
['BLAH\n', 'ONE\n', 'TWO\n', 'THREE\n', 'FOUR\n']
如果您改为使用file.read()
并打印出结果:
BLAH
ONE
TWO
THREE
FOUR
请注意,您仍然有一个' \ n',因为您实际上需要来获得上面的输出,因为' \ n'实际上是一个特殊的字符意思"换行符"。
所以,要重新编写代码,你可以简单地做(你不需要指定&#34; r&#34;因为它是&#34; r&#34;默认情况下):< / p>
file = open("plstemp.txt")
abc=file.read()
file.close()
print(abc)
答案 1 :(得分:0)
readlines
以列表的形式返回文件的行,然后将str
函数应用于列表,该列表将列表转换为字符串;这就是您收到不受欢迎的[
和]
。
如果您只想阅读整个文件,可以执行以下操作
f = open("plstemp.txt", "r")
wow = f.read()
f.close()
print(wow)
还要避免使用file
作为变量名,因为它是内置的python类型。
答案 2 :(得分:0)
好了,现在我看到你的代码更清楚了:)
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()