一直不知道这个模块到底在哪,并且也挺想搞清楚官方那些模块到底在哪个目录下。
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。
pyo文件,是python编译优化后的字节码文件。pyo文件在大小上,一般小于等于pyc文件。其实也就是将源码的断言去除了。
如果想得到某个py文件的pyo,则可以运行:python -O -m py_compile yourfile.py
3.至于你想看运行过的一些模块源码,可以直接去https://github.com/ansible/ansible去看
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。