Python 如何从文件中删除空格以形成一条长线?

Python 如何从文件中删除空格以形成一条长线?,python,file,spaces,Python,File,Spaces,我想读取一个文件并删除空格。我发誓我已经做了很多次了,但由于某种原因,我使用的方法不适用;我好像不工作。我肯定在某个地方犯了一些小错误,所以我决定制作一个小练习文件(因为我实际上需要使用的文件非常大)来找出答案 原始文件说: abcdefg (新行) hijklmn 但我想说: abcdefghijklmn file = open('please work.txt', 'r') for line in file: lines = line.strip() print(lines) clo

我想读取一个文件并删除空格。我发誓我已经做了很多次了,但由于某种原因,我使用的方法不适用;我好像不工作。我肯定在某个地方犯了一些小错误,所以我决定制作一个小练习文件(因为我实际上需要使用的文件非常大)来找出答案

原始文件说:

abcdefg (新行) hijklmn

但我想说: abcdefghijklmn

file = open('please work.txt', 'r')
for line in file:
  lines = line.strip()
  print(lines)
close.file()
然而,它只是说: abcdefg (新行) hijklmn

当我使用line.strip('\n')时,它会说: abcdefg (大新线) hijklmn


任何帮助都将非常感激,因为这是我学到的第一件事,突然我不记得如何使用它了

如果要将每一行连接成一行,可以利用rstrip并连接到一个结果变量:

with open('test.txt', 'r') as fin:
    lines = ''
    for line in fin:
        stripped_line = line.rstrip()
        lines += stripped_line
    print(lines)
从如下所示的文本文件:

abcdefg hijklmnop
this is a line   
结果将是
abcdefg hijklmnop这是一行
。如果您确实想删除空白,您可以
行=行。在循环后替换(“”),
,这将导致
abcdefghijklmnopthisisaline
,输出中的(新行)来自
打印
,它将输出
\n
。您可以使用
print(lines,end='')
删除它。

strip()
只删除前导空格和尾随空格

您可以使用
string.replace('',)
删除所有空格

'abcdefg (new line) hijklmn'.replace(' ', '')

如果您的文件具有
选项卡
换行符
或其他形式的空格,则上述操作将不起作用,您需要使用
正则表达式
删除文件中所有形式的空格

import re
string = '''this is a \n
test \t\t\t
\r
\v

'''

re.sub(r'\s', '', string)
#'thisisatest'

非常感谢你!我能够直接复制并粘贴到我的脚本中的“”(行,结束=“”),并且它没有任何问题!