日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
創(chuàng)新互聯(lián)Python教程:python3 os如何封裝posix?

我們知道有些函數(shù)不是直接使用的,需要在一定的環(huán)境中或者組合其他的函數(shù)同時(shí)使用,這就涉及了一點(diǎn)嵌套函數(shù)的相關(guān)知識(shí)。而我們今天所說的posix也是同樣需要借助python os的封裝,才能發(fā)揮出它的作用。當(dāng)然這樣說小伙伴們不是很好能理解清楚,下面我們來舉個(gè)例子就明白了。


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

下面截取相關(guān)代碼來看(直接用注釋解釋了):

# 返回一個(gè)包含內(nèi)建模塊名字的元組,包含所有已經(jīng)編譯到Python解釋器的模塊名字
_names = sys.builtin_module_names
# __all__ 只影響到了 from  import * 這種導(dǎo)入方式
def _get_exports_list(module):
    try:
        return list(module.__all__)
    except AttributeError:
        return [n for n in dir(module) if n[0] != '_']
# 判斷當(dāng)前操作系統(tǒng)類型
# posix代表類Unix系統(tǒng),nt表示W(wǎng)indows系統(tǒng)
# 我們的 macOS 就是類Unix系統(tǒng),只截取這部分代碼
if 'posix' in _names:
    name = 'posix' # 表示操作系統(tǒng)類型
    linesep = '\n' # 定義了當(dāng)前平臺(tái)使用的行終止符
    # os模塊其實(shí)就是對(duì)posix或nt模塊的二次封裝,這樣的好處就是實(shí)現(xiàn)了對(duì)不同平臺(tái)的兼容
    from posix import *
    try:
        from posix import _exit
        __all__.append('_exit')
    except ImportError:
        pass
    import posixpath as path # 我們常用的os.path實(shí)際上是ntpath或者posixpath模塊
 
    try:
        from posix import _have_functions
    except ImportError:
        pass
 
    import posix
    __all__.extend(_get_exports_list(posix))
del posix

現(xiàn)在我們知道了在 macos平臺(tái)上,os 模塊實(shí)際上是對(duì) posix 模塊的封裝。

通過代碼案例我們可以看出,使用python os封裝posix后,就可以解決不同平臺(tái)的兼容問題了,是不是很神奇~更多Python學(xué)習(xí)推薦:PyThon學(xué)習(xí)網(wǎng)教學(xué)中心。


本文名稱:創(chuàng)新互聯(lián)Python教程:python3 os如何封裝posix?
網(wǎng)址分享:http://www.5511xx.com/article/djcoies.html