2017年5月15日(Python自动化开发之路)
一、模块初识
python的强大之处在于丰富和强的的标准库和第三方库
模块分为两种1、标准库(不需要安装)2、第三方库(下载导入安装的库)
调用模块的路径两种方法1直接把库放到site-packages目录下2直接在path环境变量中添加路径
1 sys模块
库
#!/usr/bin/env python # -*- coding:utf-8 -*- # Author:Wang Lulu import sys print(sys.path) #存放的环境变量Python调用的库必须存放在其中一个环境变量里,如果不存在,模块找不到 print(sys.argv) #打印的脚本的相对路径 print(sys.argv[2]) #取列表中的第三个值,从0开始 ['C:\\Users\\wll\\PycharmProjects\\s14\\day2', C:\\Users\\wll\\PycharmProjects\\s14', C:\\Windows\\SYSTEM32\\python34.zip', C:\\Python34\\DLLs', C:\\Python34\\lib', Python标准库存放的路径(rc.py正则库、) C:\\Python34', C:\\Python34\\lib\\site-packages']存放的是下载安装的库
2 os模块 (调用系统命令用)
#!/usr/bin/env python # -*- coding:utf-8 -*- # Author:Wang Lulu import os cmd_res =os.system("dir") #调用系统的命令,执行命令,不保存结果(出现乱码,windows输出编码与utf-8不一致) print("---->",cmd_res) #直接输出到屏幕,不存给变量代表执行结果成功与否(0代表成功,1代表失败) 1 ļ 907 ֽ 2 Ŀ¼ 19,053,056,000 ֽ cmd_res = os.popen("dir") #显示的是指向内存对象的一个地址,不是结果 print("----->",cmd_res) -----> <os._wrap_close object at 0x0375FD50> cmd_res =os.popen("dir").read() #加上read通过地址读取存到内存的结果 print("----->",cmd_res) C:\Users\wll\PycharmProjects\s14\day2 的目录 2017/05/15 10:40 <DIR> . 2017/05/15 10:40 <DIR> .. 2017/05/15 10:40 907 sys_mod.py 1 个文件 907 字节 2 个目录 19,053,056,000 可用字节
#格式os.mkdir(path,mode)
os.mkdir("new_dir")
二、pyc
1解释型语言:没有编译过得语言,程序运行时对程序逐行做出解释,然后直接执行。(ruby、python)
2编译型语言:在程序执行前现对程序执行一个编译的过程,把程序转变成机器语言,运行时不需要编译直接执行(c)
java语言首先通过编译器编译成字节码文件,然后运行时通过解释权给解释称机器文件。所以java是一种先编译后解释的语言。
python 当我们在命令行中执行命令时,先激活了python解释器,先对python进行一个简单的编译,编译的结果是存在内存中pycodeobject中,当python程序运行结束时,python解释器则将pycodeobject写回到pyc文件中
当程序第二次执行时会先在硬盘中寻找pyc文件,如果找到直接执行,否则重复上面的编译过程(找到pyc文件中会先对调用的库和pyc文件的更新时间做对比,如果pyc文件更新时间比晚于库文件的更新时间,则会重新编译一次)