在字符串中编写多行文本

时间:2017-02-01 18:43:30

标签: python

假设我们想要一个这种形式的字符串:

a b c
d e f
g h i

我无法同时访问所有行,并且在代码的不同部分逐个获取它们。所以,我想要一个字符串并在我有一个新行写入时更新字符串。

我可以用字符串写每一行,但是当我使用“\ n”来这样下一行时

str = "a b c" + "\n" + "d e f" + "\n" + "g h i" 
str

这是输出:

'a b c\nd e f\ng h i'

是否有任何想法使输出正确?

3 个答案:

答案 0 :(得分:2)

如果您只想尝试打印,这似乎对我有用。

print("a b c \nd e f \ng h i")

希望有所帮助。

答案 1 :(得分:1)

简单的解决方案是三个引号。

string="""a b c
d e f
g h i"""

print(string)

答案 2 :(得分:1)

在python shell中键入变量名时,它返回该变量的值。在您的情况下,str的值确实嵌入了\n。 (正如您所知道的那样,一个字符串可以包含任意数量的换行符。)shell显示字符串的原始值。

但是,如果您对该字符串执行任何操作,则会看到换行符的行为符合您的预期。

例如,print(str)输出以您期望的方式格式化的字符串。

类似地,

with open("myfile.txt", "w") as myfile:
    myfile.write(str)

将生成一个名为myfile.txt的文件,其中包含您要在其中看到的三行。