动态导入模块

动态导入模块
导入一个库名为字符串的
module_t = __import__('m1.t')
print (module_t) #m1 import importlib
m=importlib.import_module('m1.t')
print (m) #m1.t

import

import 模块
1.执行对应文件
2.引入变量名 cal.py
print('ok')
def add(a,b):
return a+b
print('ok2') test.py
from cal import add #会先打印print('ok') print('ok2') 不支持 from web.web1 import web2
print (web2.cal.add(2,6)) if __name__ = "__main__":
用法1: 用于被调用文件的测试
用法2: 不想这个文件成为被调用文件

注意点

时间模块 time & datetime

import time

    掌握:
1.时间戳:
time.time() #从1970 1 1 到现在经过的秒数 2.当地时间
time.localtime() #time.struct_time(tm_year=2018, tm_mon=5, tm_mday=30, tm_hour=20, tm_min=11, tm_sec=38, tm_wday=2, tm_yday=150, tm_isdst=0)
t = time.localtime()
print(t.tm_wday) #周几 3.结构化时间
time.gmtime() 4.将结构化时间转化为时间戳
time.mktime(time.localtime()) #1527683203.0 5.将结构化时间转成字符串时间
time.strftime("%Y-%m-%d %X",time.localtime()) #2018-05-30 20:22:30 6.将字符串时间转成结构化时间
time.strptime("2018-05-30 20:22:30","%Y-%m-%d %X") #time.struct_time(tm_year=2018, tm_mon=5, tm_mday=30, tm_hour=20, tm_min=22, tm_sec=30, tm_wday=2, tm_yday=150, tm_isdst=-1) 7.直接看一个时间
time.asctime() #Wed May 30 20:27:36 2018 结构化转成字符串
time.ctime() #Wed May 30 20:27:36 2018 时间戳转成字符串 import datetime
datetime.datetime.now() #2018-05-30 20:34:39.589147

随机数模块

import random
random.random() #[0,1)
.......randint(1,3) #[1,3]
.......randrange(1,3) #[1,3)
.......choice([11,22,33]) #取一个
.......sample([11,22,33],2) #取二个 [22, 44]
.......unifom(1,3) #取一个 打乱顺序
ret = [11,22,33,44,55]
random.shuffle(ret) #[44, 11, 33, 22, 55] 一个应用 生成五位数随机数
def code():
ret = ""
for i in range(5):
num = random.randint(0,9)
s = random.randint(65, 90)
t = random.randint(97, 122)
alf = chr(random.choice([s,t])) # ASCII码转换
s = str(random.choice([num,alf]))
ret += s
return ret
print(code())

random

系统模块

import sys
sys.path.append() #临时修改环境变量
sys.platform() #返回操作系统平台名称
sys.path()
sys.exit(0)
sys.argv() #获取命令行参数 sys.stdout.write('#') #一次打出来 time.sleep()都没有用
sys.stdout.flush() #刷 有多少显示多少 进度条 应用1: 进度条案例
import sys
import time
for i in range(100):
sys.stdout.write('#')
time.sleep(0.1)
sys.stdout.flush() import os
os.path.dirname() os.cwd() #当前目录
os.chdir("test1") #转到子目录下的test1下 os.system('dir') #终端执行此命令
os.path.split() #分割成目录 和 文件名 os.path.join() #路径拼接 os.stat('test.py') #获取文件信息 os.path.getmtime() #最后一次修改时间

os sys

re模块

import re
re.search(r'\d','str46') #返回是一个对象
re.search(r'\d','str46').group() #取出值
#分组
re.search(r'(?P<name>[a-z]+)(?P<age>\d+)','tang36er34xiaoyang33').group('name','age') #('alex', '36') re.match('\d+','').group() #从开始处匹配 re.split("[ |]","hello abc|def") #空格 管道符匹配 re.split("[ab]","asdabcd") #
['', 'sd', '', 'cd'] re.sub('\d+','A',"jaskd4235ashdjf5423") #把匹配项改为A jaskdAashdjfA com = re.compile("\d") #写好规则
com.findall("str") re.finditer() re.findall("www\.(?:baidu|163)\.com","www.baidu.com") #不加?:只会显示 baidu 加了全部显示(取消括号优先级)

re

日志模块 logging

import logging

    logging.basicConfig(
level=logging.DEBUG,#修改级别为DEBUG
filename="logger.log", #存到文件中 默认是 追加模式
filemode="w", #修改为 写模式
format="%(asctime)s %(filename)s [%(lineno)d]) %(message)s" ) logging.debug('debug message')
logging.info('info message')
logging.warning('warning message')
logging.error('error message')
logging.critical('critical message') --------logger----
#子会打印父的内容
logger = logging.getLogger('mylogger') #无参默认是root用户 fh = logging.FileHandler("test_log")
ch = logging.StreamHandler() fm = logging.Formatter("%(asctime)s %(message)s")
fh.setFormatter(fm)
ch.setFormatter(fm) logger.addHandler(fh)
logger.addHandler(ch) #设置级别
logger.setLevel("DEBUG") #函数的话:
return logger
logger.debug("hello")
logger.info("hello")

logging

加密模块 hashlib

import hashlib  #位数是固定的
#obj = hashlib.md5("sb".encode('utf8')) #私钥
obj = hashlib.md5() #sha256一样
obj.update('hello'.encode('utf-8'))
print(obj.hexdigest()) #5d41402abc4b2a76b9719d911017c592

hashlib

Python开发【内置模块篇】的更多相关文章

  1. 《python开发技术详解》|百度网盘免费下载|Python开发入门篇

    <python开发技术详解>|百度网盘免费下载|Python开发入门篇 提取码:2sby  内容简介 Python是目前最流行的动态脚本语言之一.本书共27章,由浅入深.全面系统地介绍了利 ...

  2. python开发第一篇:初识python

    一. Python介绍 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为AB ...

  3. Python开发第一篇

    Python 是什么? 首先他可能是比较好的一个编程开发语言!

  4. Python开发 第一篇 python的前世今生

    Python前世今生 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC ...

  5. python开发[第二篇]------str的7个必须掌握的方法以及五个常用方法

    在Python中 基本数据类型有 str int boolean list dict tuple等 其中str的相关方法有30多个 但是常用的就以下7个 join  # split # find # ...

  6. python开发第二篇 :python基础

    python基础a.Python基础      -基础1. 第一句python       -python后缀名可以任意?     -导入模块时如果不是.py文件,以后的文件后缀名是.py.2.两种 ...

  7. Python开发 基础篇

    2019-02-01 产生验证码: 用户输入的值和显示的值相同时显示Correct,否则继续生成随机验证码等待用户输入 def check_code(): import random checkcod ...

  8. Python开发第二篇

    运算符 1.算术运算符 % 取余运算符,返回余数 ** 幂运算符 //返回商的整数部分 2.逻辑运算符 and  与运算符 a and b 如果a为False是,表达式为False,如果a为True返 ...

  9. Python开发【第六篇】:模块

    模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个复杂的功能来,可能需要多个函数才 ...

  10. Python开发【第二篇】:初识Python

    Python开发[第二篇]:初识Python   Python简介 Python前世今生 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏 ...

随机推荐

  1. qt deleterLater

    原文链接:浅谈 Qt 内存管理     Qt 内存管理是本文将要介绍的内容,在QT的程序中经常会看到只有new而不delete的情况,其实是因为QT有一套回收内存的机制,主要的规则如下: 1.所有继承 ...

  2. Android 解压zip文件(支持中文)

    过了n多天后,当再次使用原先博客上写的那篇: Android 压缩解压zip文件 去做zip包的解压的时候,出现了原来没有发现的很多问题.首先是中文汉字问题,使用java的zip包不能很好的解决解压问 ...

  3. Linux~其实shell脚本也很简单

    用了两个的centos之后,也想看看它的脚本,我们知道shell这个东西就像windows里的批处理,它可以将一些语句进行组合,然后统一去执行,感觉挺方便的. shell文件的组成 shell语言环境 ...

  4. Linux基础知识第二讲,文件目录命令使用

    目录 一丶Linux终端使用技巧. 1.自动补全 Tab技巧. 2.使用输入过的命令 二丶Linux 目录知识 1.linux目录的特点 2.ls 隐藏文件的查看 3.ls 常用选项 4.通配符的配合 ...

  5. springboot情操陶冶-jmx解析

    承接前文springboot情操陶冶-@Configuration注解解析,近期笔者接触的项目中有使用到了jmx的协议框架,遂在前文的基础上讲解下springboot中是如何整合jmx的 知识储备 J ...

  6. Spring基础系列--AOP实践

    原创作品,可以转载,但是请标注出处地址:https://www.cnblogs.com/V1haoge/p/9615720.html 本文目的是简单讲解下Spring AOP的使用. 推荐使用IDEA ...

  7. C#工具:防sql注入帮助类

    SQL注入是比较常见的网络攻击方式之一,它不是利用操作系统的BUG来实现攻击,而是针对程序员编程时的疏忽,通过SQL语句,实现无帐号登录,甚至篡改数据库. using System; using Sy ...

  8. 《Web安全深度剖析》

    书名 <Web安全深度剖析> 图片  时间  2018-11月   总结  算是我安全的启蒙书  前五章都是工具  看完差不多算个脚本小子 后面的实战感觉很空洞没什么实战

  9. Java开发笔记(十一)常见的数学函数

    前面介绍了Java编程的四则运算,虽然提供了基础的加减乘除符号,但是数学上还有其它运算符号,包括四舍五入用到的约等号≍.求绝对值的“| |”.开平方的“√ ̄”,这些运算符形态各异,而且并非ASCII码 ...

  10. java应用程序的运行机制

    计算机高级语言类型主要有 编译型 和 解释型 两种,java是两种类型的结合. 机制:利用编译器(javac)将源文件(后缀名.java)编译成字节码文件(后缀名.class),最后利用虚拟机(jvm ...