最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • python3 os如何封装posix?

    正文概述    2020-10-21   101

    python3 os如何封装posix?

    我们知道有些函数不是直接使用的,需要在一定的环境中或者组合其他的函数同时使用,这就涉及了一点嵌套函数的相关知识。而我们今天所说的posix也是同样需要借助python os的封装,才能发挥出它的作用。当然这样说小伙伴们不是很好能理解清楚,下面我们来举个例子就明白了。


    通过 help(os) 可以找到源文件查看,

     python3 os如何封装posix? 

    下面截取相关代码来看(直接用注释解释了):

    # 返回一个包含内建模块名字的元组,包含所有已经编译到Python解释器的模块名字
    _names = sys.builtin_module_names
    # __all__ 只影响到了 from <module> import * 这种导入方式
    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学习推荐:起源地模板网教学中心


    起源地 » python3 os如何封装posix?

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元