什么是开放“U”模式的非弃用版本

Lyr*_*ell 18 python deprecated

我正在尝试使用以下命令在 python 中读取文本文件:

with open("Keys.txt","rU") as csvfile:
Run Code Online (Sandbox Code Playgroud)

但是,这会产生折旧警告。

DeprecationWarning: 'U' mode is deprecated
Run Code Online (Sandbox Code Playgroud)

这种文本/csv 文件访问模式的非弃用版本是什么。

wja*_*rea 16

这是现在的默认行为,因此您可以简单地省略它:

with open("Keys.txt", "r") as csvfile:
Run Code Online (Sandbox Code Playgroud)

更多信息

允许使用额外的模式字符'U',它不再有任何效果,被视为已弃用。它以前在文本模式下启用通用换行符,这成为 Python 3.0 中的默认行为。有关更多详细信息,请参阅newline参数的文档。

来源open()- Python 3.7.4 文档

open()功能在Python 3库有一个newline说法。将其设置为None启用通用换行符。这是公认的做法,使mode='U'论证变得多余。

使用newline=None以实现通用换行模式(这是默认值)。

来源Robert Harvey 的回答“为什么 Python 中不推荐使用通用换行符模式?” 软件工程