【问题标题】:Remove newline between %s in Python在 Python 中删除 %s 之间的换行符
【发布时间】:2020-11-06 18:42:51
【问题描述】:

我正在使用 Spyder(Python 3.7) 并想在同一行中写 3 个不同的单词。

我写了以下代码:

write("%s%s%s" %(a, b, c)) # where a='aaa', b='bbb', c='ccc'

我希望它会告诉我

aaabbbccc

但它正在向我展示

aaa

bbb

ccc

有没有看不见的'\n' between %s?那我怎样才能删除它?我尝试使用sep='\t',但这个 Spyder 无法理解 sep。

【问题讨论】:

  • 有文件名。在写命令前面。
  • 确定您的abc 值包含您的预期吗?换行符可能是变量的一部分,而不是字符串格式添加的东西吗?

标签: python-3.x spyder


【解决方案1】:

您正在代码中执行其他操作,这绝对可以在没有任何 \n 的情况下工作


a = "aaa"

b = "bbb"

c = "ccc"

with open("file.txt","w") as f:
     f.write("%s%s%s"%(a, b, c))

“file.txt”现在是

aaabbbccc

【讨论】:

  • 感谢您的回复!它适用于字符串,但不适用于变量。其实我想改变每一行的字符串。所以我应该放变量而不是字符串本身。
  • 与变量相同的结果,你肯定在那里做其他事情 - 如果可以的话,发布你的完整程序。
  • 我在答案中添加了代码。多么简单的代码,却以奇怪的方式工作。
【解决方案2】:

我添加了我的完整代码。

frq, mag, phase 是一些浮点数。 文件名只是 blahblah.txt

如果我直接在 python 中运行此代码,而不是在 spyder(ver4.0.1) 中,我确信没有新行。我不明白这里发生了什么。

P = open('%s' %filename, "a")
P.write("%s%s%s" %(frq, mag, phase))
print("%s%s%s" %(frq, mag, phase))

【讨论】:

  • 使用 PyCharm :D 抱歉,这似乎是 Spider 的问题 - 可能那里有一些额外的数字格式。
猜你喜欢
  • 2015-09-09
  • 1970-01-01
  • 2023-03-15
  • 1970-01-01
  • 1970-01-01
  • 2021-03-14
  • 2017-07-06
  • 2016-07-13
  • 2014-09-25
相关资源
最近更新 更多