python day2 模块初识、pyc定义

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文件更新时间比晚于库文件的更新时间,则会重新编译一次)

 

posted @ 2017-05-15 20:00  BirdieForLove  阅读(164)  评论(0编辑  收藏  举报