用python从txt中删除第一个空格

xj3cbfub  于 2023-04-04  发布在  Python
关注(0)|答案(2)|浏览(126)

我试着删除这个文本的第一个空格,但我没有得到它与此:

with open(ruta, 'r', encoding="latin-1") as f:
       lines = f.readlines()
   lines = [line for line in lines if line.lstrip()]
   with open(ruta, 'w', encoding="latin-1") as f:
       f.writelines(lines)

有什么建议我做错了什么吗?谢谢!
[1]:https://i.stack.imgur.com/MexaP.png [![示例][1]][1]

bhmjp9jg

bhmjp9jg1#

将您的代码替换为:

with open(ruta, 'r', encoding="latin-1") as f:
       lines = f.readlines()
   lines = [line.lstrip() for line in lines]
   with open(ruta, 'w', encoding="latin-1") as f:
       f.writelines(lines)

不需要if语句。你必须遍历'lines'中的每个元素,然后使用lstrip方法删除白色。然后你必须再次将元素添加到'lines'中。

waxmsbnn

waxmsbnn2#

下面这行代码的问题是,你只是在过滤掉那些行,不管它们是否真实。

lines = [line for line in lines if line.lstrip()]

lstrip()移到开头,这样它将根据需要删除空格。

lines = [line.lstrip() for line in lines if line]

更新:如果你不需要过滤空字符串和其他假值,if line部分是不必要的:

lines = [line.lstrip() for line in lines]

相关问题