我必须用Python创建带有换行符和特定结构的字符串。当我做的时候
stringtowrite = "abcd ||
efgh||
iklk"
f = open(save_dir + "/" +count+"_report.txt", "w")
f.write(stringtowrite)
f.close()
我收到此错误: 语法错误:扫描字符串文字时的EOL
如何在不删除新行的情况下将字符串原样写入文件?
感谢您的帮助。
答案 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"