问题描述
通过cpython 3中的一些底层实现,我从内置的open
方法开始;快速help(open)
表示它是io.open
方法的别名。从那里我可以解决以下问题:
_io / _iomodule.c-> _io_open_impl-> _io / fileio.c-> _io_FileIO__init__impl
_io_open_impl
接受_wfopen中定义的字符串标志,并应用_wopen中定义的宏,在_io_FileIO__init__impl
中将其调用。因此,我可以合理地得出以下结论:
在cpython 3中,内置的
open
在Windows下方使用_wopen
现在让我有些困惑的是我在 Python / fileutils.c 中发现_Py_open_impl
时,我不明白它的目的;随后,同一文件定义了_Py_wfopen
和_Py_fopen
。在存储库中搜索,我可以看到这些方法在 Modules / main.c 中被调用,但很少在其他地方调用。所以...
我能推断出的最佳结论是,它用于与编译和运行解释器本身相关的代码,而不是Python语言/语法的一部分。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)