我正在 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
提交
取消