ansible模塊編寫
阿新 • • 發佈:2019-01-19
就會 ansible模塊 lib modules 新的 優化 package 文件的 編寫 一直不知道這個模塊到底在哪,並且也挺想搞清楚官方那些模塊到底在哪個目錄下。
1.使用grep -rl "copy.py" /usr/lib/python2.7/site-packages/ansible(這個目錄是專門放ansible源碼目錄的)
然後找到是/usr/lib/python2.7/site-packages/ansible/modules/files/copy.py這個文件,這裏需要註意的是如果你安裝ansible用過copy這個模塊,那麽可能就不會是copy.py這個文件,就變成兩個文件,一個是copy.pyc,一個是copy.pyo pyo文件,是python編譯優化後的字節碼文件。pyo文件在大小上,一般小於等於pyc文件。其實也就是將源碼的斷言去除了。
如果想得到某個py文件的pyo,則可以運行:python -O -m py_compile yourfile.py
1.使用grep -rl "copy.py" /usr/lib/python2.7/site-packages/ansible(這個目錄是專門放ansible源碼目錄的)
然後找到是/usr/lib/python2.7/site-packages/ansible/modules/files/copy.py這個文件,這裏需要註意的是如果你安裝ansible用過copy這個模塊,那麽可能就不會是copy.py這個文件,就變成兩個文件,一個是copy.pyc,一個是copy.pyo
2.兩個文件說下作用,
pyc文件,是python編譯後的字節碼(bytecode)文件。只要你運行了py文件,python編譯器就會自動生成一個對應的pyc字節碼文件。這個pyc字節碼文件,經過python解釋器,會生成機器碼運行(這也是為什麽pyc文件可以跨平臺部署,類似於java的跨平臺,java中JVM運行的字節碼文件)。下次調用直接調用pyc,而不調用py文件。直到你這個py文件有改變。python解釋器會檢查pyc文件中的生成時間,對比py文件的修改時間,如果py更新,那麽就生成新的pyc。
如果想得到某個py文件的pyo,則可以運行:python -O -m py_compile yourfile.py
3.至於你想看運行過的一些模塊源碼,可以直接去https://github.com/ansible/ansible去看
ansible模塊編寫