新聞中心
這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
創(chuàng)新互聯(lián)Python教程:python3 os如何封裝posix?
我們知道有些函數(shù)不是直接使用的,需要在一定的環(huán)境中或者組合其他的函數(shù)同時使用,這就涉及了一點嵌套函數(shù)的相關知識。而我們今天所說的posix也是同樣需要借助python os的封裝,才能發(fā)揮出它的作用。當然這樣說小伙伴們不是很好能理解清楚,下面我們來舉個例子就明白了。

通過 help(os) 可以找到源文件查看,
下面截取相關代碼來看(直接用注釋解釋了):
# 返回一個包含內(nèi)建模塊名字的元組,包含所有已經(jīng)編譯到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] != '_'] # 判斷當前操作系統(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' # 定義了當前平臺使用的行終止符 # os模塊其實就是對posix或nt模塊的二次封裝,這樣的好處就是實現(xiàn)了對不同平臺的兼容 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
現(xiàn)在我們知道了在 macos平臺上,os 模塊實際上是對 posix 模塊的封裝。
通過代碼案例我們可以看出,使用python os封裝posix后,就可以解決不同平臺的兼容問題了,是不是很神奇~更多Python學習推薦:PyThon學習網(wǎng)教學中心。
網(wǎng)頁題目:創(chuàng)新互聯(lián)Python教程:python3 os如何封裝posix?
文章URL:http://m.5511xx.com/article/djcoies.html


咨詢
建站咨詢
