在Python中编写一个字符串(使用新行)

时间:2011-08-16 18:57:04

标签: python

我必须用Python创建带有换行符和特定结构的字符串。当我做的时候

 stringtowrite = "abcd ||
                   efgh||
                   iklk"

f = open(save_dir + "/" +count+"_report.txt", "w")
f.write(stringtowrite)
f.close()

我收到此错误: 语法错误:扫描字符串文字时的EOL

如何在不删除新行的情况下将字符串原样写入文件?

感谢您的帮助。

4 个答案:

答案 0 :(得分:9)

最简单的方法是使用python的三引号(注意三个单引号)

stringtowrite = '''abcd ||
                   efgh||
                   iklk'''

任何带有三引号的字符串文字都会在下一行继续。您可以使用'''或“”“。

顺便说一句,如果你有

a = abcd
b = efgh
c = iklk

我会推荐以下内容:

stringtowrite = "%s||\n%s||\n%s" % (a,b,c)

作为一种更具可读性和pythonic的方式。

答案 1 :(得分:8)

您是否尝试过以下方式修改字符串:

stringtowrite = "abcd ||\nefgh||\niklk"

f = open(save_dir + os.path.sep +count+"_report.txt", "w")
f.write(stringtowrite)
f.close()

OR:

stringtowrite = """abcd ||
                   efgh||
                   iklk"""

答案 2 :(得分:5)

您可以将\字符添加到每行的末尾,这表示该行在下一行继续,您可以对该字符串进行三重引号而不是单引号,或者您可以替换它带有\n的字符串中的文字换行符。

答案 3 :(得分:3)

您可以在字符串中添加换行符\n - 。

stringtowrite = "abcd ||\nefgh||\niklk"