我有一个字符串,我想输出到终端然后写入文件。我已经设法在我的代码中执行此操作,但我希望更改它的格式。
通常这是任何print语句应该发生的事情:
x = scatter
print (x)
并输出终端屏幕
scatter
其中我的字符串格式如下
n = 1
x = 'scatter -n', n
将此语句打印到终端....
('scatter -n', 1)
我想要做的是能够打印一个字符串,其中包含多个文本字符串元素,然后是上面在程序中声明的变量。我不确定如何设置语法,以便在打印到终端时字符串显示如下:
scatter -n 1
此处提供的文字是我需要打印的完整字符串的较小示例。在其中我有大量的变量在我的程序中定义,但在这里我将把它们留在这篇文章中,因为它主要是我坚持的语法问题。我需要写的完整字符串如下:
test = '"scatter -n',n,'-A ',A,' -g ',g,' -t ',stime,' -i "-M',Mbu,' -rm ',rm,' -R ',R,' -v ',vrel,' -t -q',qout,' -a ',aoutu,' -e ',eout,' -r1 ',r1,' -t1 -q ',qin,' -a ',ainu,' -e ',ein,' -r1 ',r1,' -r2 ',r2,'"'
我如何在这里格式化字符串是我设法让它在程序当前迭代中正常工作的唯一方法。
非常感谢任何输入。
答案 0 :(得分:0)
您将序列定义为隐式元组的原因是什么?
如果你想把它保存为列表/元组/任何集合,请考虑这个:
' '.join([str(i) for i in test])
提示:我使用str()
来计算最终出现在变量列表中的所有非字符串值。
否则,如果变量的数量是固定的,您可以使用常规字符串格式'%s, ...' % (val, ...)
。
答案 1 :(得分:0)
test= test.replace(",", " ")
答案 2 :(得分:0)
print(x)
('scatter -n', 1)
因为它在变量x中声明为元素元组,所以这是预期的行为。 并且python按原样打印。
print(', '.join(str(i) for i in x))
scatter -n, 1
您实际上正在寻找 join()
方法。
答案 3 :(得分:0)
x = 'scatter -n', n
代码中的这一行没有连接,它包含一个元组。这就是为什么括号出现在输出中的原因。此外,无论如何,你都不能将int类型连接到字符串而不首先将其转换为。
相反,你可以使用这种格式来串联演员表&级联:
x = "scatter"
y = "-n"
z = 1
cmd = "{} {} {}".format(x, y, z)
print cmd
打印
scatter -n 1