0

我需要有关如何将 txt 文件中的多行连接成没有空格的单行的帮助

文本文件由 8 行组成,每行 80 个字符,如图所示:

一只忙碌的猫
(来源:gulfup.com

这是我使用的代码,但我的问题是我无法将所有行连接起来,它们之间没有空格:

inFile = open ("text.txt","r") # open the text file
line1 = inFile.readline() # read the first line from the text.txt file
line2 = inFile.readline() # read the second line from the text.txt file
line3 = inFile.readline()
line4 = inFile.readline()
line5 = inFile.readline()
line6 = inFile.readline()
line7 = inFile.readline()
line8 = inFile.readline()

print (line1.split("\n")[0], # split each line and print it --- My proplem in this code!
       line2.split("\n")[0],
       line3.split("\n")[0],
       line4.split("\n")[0],
       line5.split("\n")[0],
       line6.split("\n")[0],
       line7.split("\n")[0],
       line8.split("\n")[0])

一只忙碌的猫
(来源:gulfup.com

4

5 回答 5

1

只需将文件的行读入列表并使用''.join()

with open ("text.txt","r") as inFile:
    lines = [l.strip() for l in inFile]
    print ''.join(lines)

.strip()调用删除了行首和行尾的所有空格,在本例中为换行符。

在语句中使用逗号print不仅仅是省略换行符,它还在参数之间打印一个空格。

于 2013-01-19T23:30:35.110 回答
0

如果您的文件不是特别大,您可以将整个内容作为一个字符串打开。

content = inFile.read()

文本行由一个特殊字符分隔,\n.
如果您希望所有内容都在一行中,请删除该字符。

oneLine = content.replace('\n', '')

在这里,我用\n空字符串替换每个字符。

于 2013-01-19T23:29:59.140 回答
0
infile = open("text.txt", "r")
lines = infile.readlines()
merged = ''.join(lines).replace("́\n", "")

甚至更好

infile = open("text.txt", "r")
lines = infile.read()
text = lines.replace("\n", "")
于 2013-01-19T23:30:51.843 回答
0

尝试:

lines = ''.join(open("text.txt").read().splitlines())

行将是由 text.txt 中的所有行组成的字符串,这些行相互连接,不带 '\n' 字符。

于 2013-01-19T23:31:03.130 回答
0
f = open("file", "r")
print "".join(f.read().split())    # Strips all white-spaces
于 2013-01-19T23:38:28.477 回答