gpt4 book ai didi

python - 如何在 python 换行符之前从行尾删除多余的空间?

转载 作者:太空宇宙 更新时间:2023-11-04 00:28:30 26 4
gpt4 key购买 nike

我是 python 的新手。我有一个程序,它读取一个具有不同字符的输入文件,然后将该文件中的所有唯一字符写入一个输出文件,每个字符之间有一个空格。问题是在最后一个字符之后有一个额外的空格(在换行符之前)。我怎样才能删除它?

我的代码:

import sys
inputName = sys.argv[1]
outputName = sys.argv[2]

infile = open(inputName,"r",encoding="utf-8")
outfile = open(outputName,"w",encoding="utf-8")
result = []
for line in infile:

for c in line:
if c not in result:
result.append(c)
outfile.write(c.strip())

if(c == ' '):
pass
else:
outfile.write(' ')

outfile.write('\n')

最佳答案

outfile.write(' ') 行中,您在每个字符后写入一个空格(除非该字符是空格)。所以你必须避免写最后一个空格。现在,在你读完之前你无法判断任何给定的字符是否是最后一个字符,所以你不能只放入一个 if 语句来测试它,但有一些解决方法:

  • 在字符 c 之前写空格,而不是在它之后。这样,您必须跳过的空间就是 第一个 字符之前的空间,并且您绝对可以使用 if 语句和 bool 变量来识别它。如果执行此操作,请确保在第一个或第二个 c 本身是空格的情况下检查您是否获得了正确的结果。
  • 或者,您可以避免在最后才写任何东西。只需保存您看到的所有字符 - 您已经在列表 result 中执行此操作 - 并一次性将它们全部写入。你可以使用

    ' '.join(strings)

    将字符串列表(在本例中为您的字符)与它们之间的空格连接在一起,这将自动省略尾随空格。

关于python - 如何在 python 换行符之前从行尾删除多余的空间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46625225/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com