You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

将数组写入文本文件出现多余空格问题求助

解决数组写入文本文件时出现多余空格的问题

你遇到的array1输出有多余空格的问题,核心原因是从UI文本框获取的rssReference、rssEngine_*这类字符串本身带有前后空白字符,直接用" ".join()拼接时会保留这些空白,导致最终结果出现多余空格;而array2的文本框内容刚好没有多余空白,所以输出正常。

解决方法

处理每个文本框内容时,先去掉前后空白,再过滤掉可能的空字符串(避免用户未输入时产生多余空格),最后再拼接:

修改后的代码示例

# 先对array1的所有文本框内容做去空白处理
rssReference = self.ui.rss_reference_textbox.text().strip()
rssEngine_1 = self.ui.rss_engine1_textbox.text().strip()
rssEngine_2 = self.ui.rss_engine2_textbox.text().strip()
rssEngine_3 = self.ui.rss_engine3_textbox.text().strip()

# 过滤空字符串,防止未输入的情况导致多余空格
postProcess_RSS = [item for item in (rssReference, rssEngine_1, rssEngine_2, rssEngine_3) if item]
rss = " ".join(postProcess_RSS)

# array2也可以用同样方式优化,避免后续出现类似问题
combusterReference = self.ui.numComb_reference_textbox.text().strip()
combusterEngine_1 = self.ui.numComb_engine1_textbox.text().strip()
combusterEngine_2 = self.ui.numComb_engine2_textbox.text().strip()
combusterEngine_3 = self.ui.numComb_engine3_textbox.text().strip()

postProcess_Combustor = [item for item in (combusterReference, combusterEngine_1, combusterEngine_2, combusterEngine_3) if item]
combustor = " ".join(postProcess_Combustor)

with open(outputDir + '.txt', "w") as text_file:
    print(f'#', "\n"f'array1 = {rss}', "\n"f'array2 = {combustor}', file=text_file)

关键步骤说明

  • strip():移除字符串前后的所有空白字符(包括空格、制表符、换行符等),从根源上消除多余空白的来源
  • 列表推导式过滤空字符串:如果某个文本框未输入内容,strip()后会得到空字符串,过滤后不会参与拼接,避免出现连续空格
  • 最后用" ".join()拼接,就能得到符合预期的0 0 0 0格式

内容的提问来源于stack exchange,提问作者juice

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 07:15:35