模块
模块就是我们平时所说的库:已经写好的可以实现某些功能的代码,我们可以直接调用其中的函数。
下面来给大家介绍一下模块的基本用法和简单的标准库。
import sys
print(sys.path) #获取环境变量
print(sys.path[0]) #获取当前脚本路径,为环境变量中的第一个
[‘c:\Users\JOKER\Desktop\Python_Test\day2’, ‘’, ‘G:\Python37-32\python37.zip’, ‘G:\Python37-32\DLLs’, ‘G:\Python37-32\lib’, ‘G:\Python37-32’, ‘C:\Users\JOKER\AppData\Roaming\Python\Python37\site-packages’, ‘G:\Python37-32\lib\site-packages’]
c:\Users\JOKER\Desktop\Python_Test\day2
import sys
print(sys.argv) #获取命令行参数
print(sys.argv[1]) #获取指定的参数,运行的xx.py为第一个参数
命令行输入:python module.py 123 456
输出:
[‘module.py’, ‘123’, ‘456’]
123
import os
cmd_res = os.system("dir") #执行dir命令,返回值为命令执行结果,0为成功,1为失败
print("-->",cmd_res)
import os
cmd_res = os.popen("dir") #执行命令,返回值为对象的地址
cmd_str = cmd_res.read() #调用对象的read()函数,获取命令结果
#可以合并为 cmd_res = os.popen("dir").read()
print("-->",cmd_res)
print("-->",cmd_str)
以上就是模块简单的使用方法以及标准库sys和os的两个函数介绍。
python的编译
在我们输入python xxx.py时,我们会直接得到运行结果。我们都直到python是一种解释性的语言,但其实他和java一样,是一门先编译后解释性的语言。
我们在运行py文件后,会得到一个xxx.pyc的文件,该文件就是编译后生成的文件。事实上,我们执行py文件时,解释器会先寻找pyc文件,如果找到,则直接载入内存,否则就将程序编译后存放在内存的pycodeobject中,执行结束时,会将pycodeobject保存在pyc文件中。
若是一个文件我们已经执行过,存在pyc文件,但是我们修改了源文件后,想再执行怎么办呢?解释器是这么干的,对比源文件和pyc文件的时间戳,如果pyc文件的时间先于源文件,则重新编译。