Python小知识点(4)--模块相关
1.模块:
定义:用来从逻辑上组织python代码(变量,函数,类,逻辑:实现一个功能),本质就是以.py结尾的python文件(文件名:test.py,对应的模块名:test)。
包:用来从逻辑上组织模块的,本质就是文件夹(目录),必须带有一个__init__.py文件。
导入包的本质就是解释这个包下面的__init__.py文件。
在某个模块下需要导入某一个包下面的内容,需要在包下面的__init__.py文件中修改导入方式,语法为:from . import module_name #.表示当前路径下
模块导入方法:
Import module_name(模块名)===>>实质导出的是模块名称 name.test()
Import module_name,m1,m2
from module(模块) import * (函数)===>实质是把代码复制到当前位置(不建议 )
from module import module_name,m1,m2
from module import module_name as modele_name_from_wfb (as取别名)
import本质(路径搜索和搜索路径):
(1)Import module_name ===》把导入的模块的全部代码统一解释一遍,然后赋值给module_name这个变量,例如:module_name=”modele_name.py all code"。【module_name.name】
Import module_name---->执行module_name.py---->module_name.py的路径---sys.path
(2)from module import module_name ==》把module 模块中的module_name部分放到当前文件执行一遍。【name()】
总结:导入模块的本质就是把python文件解释一遍。
2.导入不在同一目录下的文件或者包:
由于导入模块或包的实质是在系统的环境变量(路径)下寻找所导入的文件或者是否存在,存在即可正确执行,否则则需要将文件或者包的绝对路径动态加入到系统的环境变量中。使用sys,os模块
Import sys,os
lujin=os.path.dirname(os.path.abspath(__file__))
Sys.path.append(lujin)
目的是:在当前文件中获得指定文件或包的路径(父级目录)。
解释:
os.path.abspath(__file__) 获取当前文件的绝对路径
os.path.dirname:获取当前文件的父级目录。
Sys.path.append(lujin):将所获取的路径加入到系统环境变量中。
3.导入优化
(1) Import module_name
module_name.name()。。
实质:先找模块,在找该模块下的方法.【查找多了效率不高。】
(2) from module_name import name
name() 。。
实质:把模块中的方法拿到指定位置执行一遍。相比import少了多次查找的过程.
4.模块分类
a.标准库(内置)
1. time 和datetime.
gmtime():获取标准时间(0时区)
localtime():获取本地时间(东八区)
time.strftime("%Y-%m-%d %H:%M:%S",time.gmtime()) # %Y对应tm_year %m对应tm.mon


5.json和pickle模块
Json模块提供了四个功能:dumps、dump、loads、load
pickle模块提供了四个功能:dumps、dump、loads、load
.json和pickle模块只建议dumps和loads一次,否则需要根据之前的顺序依次取出来很麻烦,dumps序列化为字符串。
6. shelve模块
shelve模块是一个简单的k,v将内存数据通过文件持久化的模块,可以持久化任何pickle可支持的python数据格式,【可理解为可以实现多次的dumps和、loads】
使用=》
import shelve
d = shelve.open('shelve_test') #打开一个文件
存:d[“key”]=value
取:d,get(“key”)
加密模块
hashlib模块
对中/英文的加密:
import hashlib
m=hashlib.md5()
m.update(b"Hello")
m.update("It's me 你好".encode(encoding=’utf-8’))
对信息的加密:
import hmac
m=hmac.new(b'天王盖地虎', '宝塔镇河妖'.encode(encoding=’utf-8’)
b'天王盖地虎':必须是bytes类型
'宝塔镇河妖'.encode(encoding=’utf-8’:对含有中文的需要进行编码(encode)成二进制。主要是有无b的区别。
Python小知识点(4)--模块相关的更多相关文章
- python小知识点总结
小知识点总结 1.python2和python3的区别 python2 python3 默认编码 ascii utf-8 input() raw_input() input() print 可以不 ...
- python 小技巧(import模块、查询类继承关系、安装包)
作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 在这里列举一些我使用Python时积累的小技巧.这些技巧是我在使用Python过程 ...
- Python小知识点(3)--装饰器
(1)装饰器含参数,被装饰函数不含(含)参数 实例代码如下: import time # 装饰器函数 def wrapper(func): def done(*args,**kwargs): star ...
- Python小知识点+保留字
注意 !/usr/bin/python # -- coding: UTF-8 -- #中文编码 Python空行:函数之间或类的方法之间用空行分隔,表示一段新的代码的开始 Python注释:单行注释采 ...
- python小知识- webbrowser模块 + join()方法
一.join描述 将序列中的元素以指定的字符连接生成一个新的字符串. 语法 语法: ‘sep’.join(seq) 参数说明: sep:分隔符.可以为空 seq:要连接的元素序列.字符串.元组.字典 ...
- python小游戏-pygame模块
一.tkinter模块的GUI 基本上使用tkinter来开发GUI应用需要以下5个步骤: 导入tkinter模块中我们需要的东西. 创建一个顶层窗口对象并用它来承载整个GUI应用. 在顶层窗口对象上 ...
- python小知识点
问题:求列表中每个元素的元素次方之和>>> a=[1,2,3,4]>>> k=len(a)第一种解法# s=0# for x in a:# ...
- python小知识点随笔
可能会有不局限于Python语言的内容,文中“>>>”表示结果,而不是命令行交互的提示符 1.关于字符串编码 ASCII编码 占用一个字节 二进制11111111=十进制255 所以 ...
- Python小知识点(5)--面向对象部分
面向对象: 世间万物,皆可分类.--------------------手机<--------------某一个分类 世间万物,皆为对象.--------------------我的手机< ...
随机推荐
- iOS调用第三方API/Framework
前言 老板不止一次地说过:这个世纪靠个人的能力去完成一件事情肯定是不够的.无论什么方面我们都可以找到许许多多的事例表明合作共赢的重要性,例如Linux的发展.建筑事务所的发展.乃至科学技术的发展等等. ...
- linux 一些有用的命令
新增软链接 ln -s /usr/local/python27/bin/python2.7 /usr/bin/python 新建目录/递归 mkdir ./{nginx,memcached,httpd ...
- 跳转后全屏,兼容大部分浏览器JavaScript
<!DOCTYPE html> <html> <head> <title>测试</title> </head> <body ...
- 将 UWP 的有效像素(Effective Pixels)引入 WPF
在很久很久以前,WPF 诞生之初,有一个神奇的单位,它的名字叫做——设备无关单位(DIP,Device Independent Unit).微软给它描绘了一片美好的愿景——在任何显示器上显示的尺寸是相 ...
- 《selenium2 python 自动化测试实战》(4)——鼠标事件
鼠标事件包含在ActionChains类中,导入时只需要: from selenium.webdriver.common.action_chains import ActionChains 导入类即可 ...
- python-pycharm控制台输出带颜色
python_控制台输出带颜色的文字方法 在python开发的过程中,经常会遇到需要打印各种信息.海量的信息堆砌在控制台中,就会导致信息都混在一起,降低了重要信息的可读性.这时候,如果能给重要的信 ...
- mint-ui框架的使用
1.安装mint-ui框架: cnpm install mint-ui --save-dev 在main.js入口文件中引入并命名用mint-ui框架 import Vue from 'vue' im ...
- vue-router教程一(安装篇)
Installation安装 #直接下载/cdn https://unpkg.com/vue-router/dist/vue-router.js Unpkg.com提供基于NPM的CDN链接.上述链接 ...
- 使用npm link 创建本地模块
1. npm link 介绍 创建一个全局的符号链接,优点是方便我们进行本地node模块的开发调用,和后期发布私服,或者npm 仓库调用是一致的 以下为官方的说明: First, npm link i ...
- CentOS下编译安装LNMP环境
一.卸载系统预安装的LAMP软件 rpm -qa|grep httpd rpm -e httpd httpd-tools rpm -qa|grep mysql rpm -e mysql mysql-l ...