我正在 Windows 上工作并使用 Python 3.9。在我的脚本中,我将一个字符串构造为具有多行的 f 字符串:XY="multiline"MY_F_STRING = f'''my{XY}f-stringendshere.'''即使我的编辑器告诉 mit 文件中的行结尾是 dos 样式 (\r\n)并且查看光盘上的字节,我看到了 CRLF 相应的十六进制代码,但 MY_F_STRING 的 repr 告诉我行结尾是 unix 样式(\n)。我的问题是:这是预期的行为吗?这方面的一般规则是什么?
1 回答
素胚勾勒不出你
TA贡献1827条经验 获得超9个赞
Python 以“通用换行符”文本模式读取其源文件,将所有常见的换行符格式转换为简单的\n
. 如果您希望在 f 字符串中包含特定的换行符,请使用转义码,例如s = f'my\nf-string\r\nhas\rdifferent newlines'
。
另请参阅PEP 278。通用换行符允许在不同操作系统上编写的 Python 脚本在其他操作系统上无缝且一致地工作。您希望字符串常量在 Linux 和 Windows 上运行时更改内容吗?
添加回答
举报
0/150
提交
取消