2024-05-14 16:35:42 发布
网友
我想用Python脚本生成C代码,而不需要转义。例如,我尝试过:
myFile.write(someString + r'\r\n\')
希望一个r前缀可以使事情正常进行。不过,我还是有个错误:
r
myFile.write(someString + ur'\r\n\') ^ SyntaxError: EOL while scanning string literal
如何用Python将原始字符串写入文件?
可以通过format方法将原始字符串插入到字符串中。这确保了 以正确的转义插入原始字符串。
示例:
mystring = "some string content {0}" # insert raw string mystring = mystring.format(r"\r\n\\") myfile = open("test.txt", "w") myfile.write(mystring) myfile.close()
你需要转义最后一个\,这样它就不会转义字符串的结尾,但是如果你将它作为原始字符串的一部分,它就不能得到你想要的:
\
>>> r'\r\n\\' '\\r\\n\\\\'
但是,Python的字符串文字连接允许您混合原始字符串和普通字符串:
>>> r'\r\n' '\\' '\\r\\n\\'
Python生刺can't end with a backslash。
不过,也有解决办法。
您只需在字符串末尾添加空白:
>>> with open("c:\\tmp\\test.txt", "w") as myFile: ... myFile.write(someString + r'\r\n\ ')
你不必为此烦恼,所以这可能是个解决办法。
假设someString是Hallo。
someString
这将把Hallo\r\n\_写入文件,其中_是一个空格。
Hallo\r\n\_
_
如果您不喜欢额外的空间,可以这样删除:
>>> with open("c:\\tmp\\test.txt", "w") as myFile: ... myFile.write(someString + r'\r\n\ '[:-1])
这将把Hallo\r\n\写入文件,不需要额外的空白,也不需要转义反斜杠。
Hallo\r\n\
可以通过format方法将原始字符串插入到字符串中。这确保了 以正确的转义插入原始字符串。
示例:
你需要转义最后一个
\
,这样它就不会转义字符串的结尾,但是如果你将它作为原始字符串的一部分,它就不能得到你想要的:但是,Python的字符串文字连接允许您混合原始字符串和普通字符串:
Python生刺can't end with a backslash。
不过,也有解决办法。
您只需在字符串末尾添加空白:
你不必为此烦恼,所以这可能是个解决办法。
假设
someString
是Hallo。这将把
Hallo\r\n\_
写入文件,其中_
是一个空格。如果您不喜欢额外的空间,可以这样删除:
这将把
Hallo\r\n\
写入文件,不需要额外的空白,也不需要转义反斜杠。相关问题 更多 >
编程相关推荐