如何解决可选文件参数的空文件对象
Python 标准库是否有创建空文件对象的标准工具?我的意思是一个与现有文件无关的文件对象。它也应该表现为一个关闭的文件(读取或写入会失败)。
需求原因:我使用的函数将打开的文件作为参数,但在某些参数组合中,文件没有被使用。而不是使用 None
值并使用 typing.Optional[]
和 assert
污染代码(或者甚至额外的 if
,因为我认为 Mypy 甚至不理解 assert
!):
def function(arguments: argparse.Namespace,file: typing.Optional[typing.TextIO]) -> None:
if not arguments.do_not_use_file:
assert file is not None
do_something(file)
我想使用空文件对象。
import io
NULL_FILE = io.StringIO()
NULL_FILE.close()
def function(arguments: argparse.Namespace,file: typing.TextIO) -> None:
if not arguments.do_not_use_file:
do_something(file)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。