2024-06-17 11:57:47 发布
网友
我想在一个文件中有一个文本
stat.run('Export RStd \'distFunc.txt\' overwrite')
我使用的是
g.write("stat.run('Export RStd \ ") g.write("'distFunc.txt\") g.write("' overwrite')\n")
但是,由于转义序列和\'代码不起作用。我试过很多品种,一个班轮是不可能的。所以我试着把它分成三行并解析它,但是转义序列仍然有问题! 有人能提出一个办法吗? 敬礼
使用原始字符串(前缀为r)和三重引号(一行中三个'或"字符的序列)。在原始字符串中,反斜杠不是魔法。在三重引号的字符串中,单引号和双引号都不是魔法。以下两个完整程序是等效的:
r
'
"
with open ("g", "w") as g: g.write(r'''stat.run('Export RStd \'distFunc.txt\' overwrite')''')
with open ("g", "w") as g: g.write(r"""stat.run('Export RStd \'distFunc.txt\' overwrite')""")
或者,使用带双引号的原始字符串。在双引号字符串中,单引号并不神奇:
with open ("g", "w") as g: g.write(r"stat.run('Export RStd \'distFunc.txt\' overwrite')")
或者,如果不想使用原始字符串,可以转义反斜杠:
with open ("g", "w") as g: g.write("stat.run('Export RStd \\'distFunc.txt\\' overwrite')")
最后,如果必须使用单引号字符串,则可以转义单引号:
with open ("g", "w") as g: g.write('stat.run(\'Export RStd \\\'distFunc.txt\\\' overwrite\')')
请注意以上每一行源代码的名称都是完全相同的字符串。尽管它们在源代码中的表示方式不同,但所有生成的字符串都是相等的:
assert ( r'''stat.run('Export RStd \'distFunc.txt\' overwrite')''' == r"""stat.run('Export RStd \'distFunc.txt\' overwrite')""" == r"stat.run('Export RStd \'distFunc.txt\' overwrite')" == "stat.run('Export RStd \\'distFunc.txt\\' overwrite')" == 'stat.run(\'Export RStd \\\'distFunc.txt\\\' overwrite\')')
使用原始字符串(前缀为
r
)和三重引号(一行中三个'
或"
字符的序列)。在原始字符串中,反斜杠不是魔法。在三重引号的字符串中,单引号和双引号都不是魔法。以下两个完整程序是等效的:或者,使用带双引号的原始字符串。在双引号字符串中,单引号并不神奇:
或者,如果不想使用原始字符串,可以转义反斜杠:
最后,如果必须使用单引号字符串,则可以转义单引号:
请注意以上每一行源代码的名称都是完全相同的字符串。尽管它们在源代码中的表示方式不同,但所有生成的字符串都是相等的:
相关问题 更多 >
编程相关推荐