我们知道有些函数不是直接使用的,需要在一定的环境中或者组合其他的函数同时使用,这就涉及了一点嵌套函数的相关知识。而我们今天所说的posix也是同样需要借助python os的封装,才能发挥出它的作用。当然这样说小伙伴们不是很好能理解清楚,下面我们来举个例子就明白了。
通过 help(os) 可以找到源文件查看,
下面截取相关代码来看(直接用注释解释了):
# 返回一个包含内建模块名字的元组,包含所有已经编译到Python解释器的模块名字 _names = sys.builtin_module_names # __all__ 只影响到了 fromimport * 这种导入方式 def _get_exports_list(module): try: return list(module.__all__) except AttributeError: return [n for n in dir(module) if n[0] != '_'] # 判断当前操作系统类型 # posix代表类Unix系统,nt表示Windows系统 # 我们的 macOS 就是类Unix系统,只截取这部分代码 if 'posix' in _names: name = 'posix' # 表示操作系统类型 linesep = '\n' # 定义了当前平台使用的行终止符 # os模块其实就是对posix或nt模块的二次封装,这样的好处就是实现了对不同平台的兼容 from posix import * try: from posix import _exit __all__.append('_exit') except ImportError: pass import posixpath as path # 我们常用的os.path实际上是ntpath或者posixpath模块 try: from posix import _have_functions except ImportError: pass import posix __all__.extend(_get_exports_list(posix)) del posix
现在我们知道了在 macos平台上,os 模块实际上是对 posix 模块的封装。
通过代码案例我们可以看出,使用python os封装posix后,就可以解决不同平台的兼容问题了,是不是很神奇~更多Python学习推荐:PyThon学习网教学中心。
文章名称:创新互联Python教程:python3 os如何封装posix?
转载注明:http://www.shufengxianlan.com/qtweb/news49/375549.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联