创新互联Python教程:python3 os如何封装posix?

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


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

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

# 返回一个包含内建模块名字的元组,包含所有已经编译到Python解释器的模块名字
_names = sys.builtin_module_names
# __all__ 只影响到了 from  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学习推荐:PyThon学习网教学中心。


网页名称:创新互联Python教程:python3 os如何封装posix?
网页地址:http://hxwzsj.com/article/djcoies.html

其他资讯

Copyright © 2025 青羊区翔捷宏鑫字牌设计制作工作室(个体工商户) All Rights Reserved 蜀ICP备2025123194号-14
友情链接: 成都网站建设 高端网站设计 攀枝花网站设计 教育网站设计方案 LED网站设计方案 重庆企业网站建设 移动手机网站制作 成都品牌网站建设 成都网站设计 营销型网站建设 成都网站制作 公司网站建设 企业网站设计 高端定制网站设计 网站建设方案 网站设计公司 响应式网站设计方案 成都商城网站制作 外贸营销网站建设 成都网站建设公司 成都网站设计 成都网站建设