三、python模块初识

2017-07-16  本文已影响11人  佘红响
# Author:Scott She
import sys
print(sys.path)       # 打印环境变量
print(sys.argv)
print(sys.argv[2])    # 如果执行文件时候传入的参数多于或等于三个成立, 否则会报错

输入:
$ python sys_mod.py hello world
输出(把执行脚本时传递的参数获取到了)
['sys_mod.py', 'helo', 'world']

# Author:Scott She
import os
# cmd_res = os.system("ls")       # 执行命令, 不保存结果
cmd_res = os.popen("ls").read()   # 执行命令, 保存结果, read()函数从返回对象中取结果
print("-->", cmd_res)
os.mkdir("new_file")              # 创建目录
# Author:Scott She
# 1.导入自定义的guess模块, 默认会在当前目录下找;
# 2.当前目录找不到的话会在系统环境变量中找, 找不到的话报错
import guess    # 这里的guess模块为day1(练习代码)中的guess.py

若报错,
1.将guess.py拷贝到当前目录下;
2.将guess.py拷贝到/usr/local/lib/python3.6/site-packages目录下(这是我的系统的site-packages的路径, site-packages一般存放三方库)

只是我们在用Eclipse之类的IDE时,将这两部给融合成了一部而已。其实Python也一样,当我们执行python hello.py时,他也一样执行了这么一个过程,所以我们应该这样来描述Python,Python是一门先编译后解释的语言。
我们在硬盘上看到的pyc自然不必多说,而其实PyCodeObject则是Python编译器真正编译成的结果。我们先简单知道就可以了,继续向下看。

当python程序运行时,编译的结果则是保存在位于内存中的PyCodeObject中,当Python程序运行结束时,Python解释器则将PyCodeObject写回到pyc文件中。

当python程序第二次运行时,首先程序会在硬盘中寻找pyc文件,如果找到,则直接载入,否则就重复上面的过程。

所以我们应该这样来定位PyCodeObject和pyc文件,我们说pyc文件其实是PyCodeObject的一种持久化保存方式。

.pyc 路径: /usr/local/lib/python3.6/site-packages/_pycache_

上一篇下一篇

猜你喜欢

热点阅读