动态导入模块

动态导入模块
导入一个库名为字符串的
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. 用Maven快速生成带有依赖的可执行jar包

    一.背景 最近项目在做微服务的拆分,那么我们想让我们的容器启动更加的轻量级,所以我们选择放弃tomcat等容器,而是通过maven生成带有指定依赖的可执行jar包的方式进行处理,本文我将分享如何通过m ...

  2. 带着新人学springboot的应用10(springboot+定时任务+发邮件)

    接上一节,环境一样,这次来说另外两个任务,一个是定时任务,一个是发邮件. 1.定时任务 定时任务可以设置精确到秒的准确时间去自动执行方法. 我要一个程序每一秒钟说一句:java小新人最帅 于是,我就写 ...

  3. 15-Flink实战项目之实时热销排行

    戳更多文章: 1-Flink入门 2-本地环境搭建&构建第一个Flink应用 3-DataSet API 4-DataSteam API 5-集群部署 6-分布式缓存 7-重启策略 8-Fli ...

  4. 剖析HBase负载均衡和性能指标

    1.概述 在分布式系统中,负载均衡是一个非常重要的功能,在HBase中通过Region的数量来实现负载均衡,HBase中可以通过hbase.master.loadbalancer.class来实现自定 ...

  5. Docker Compose 之进阶篇

    笔者在前文<Docker Compose 简介>和<Dcoker Compose 原理>两篇文章中分别介绍了 docker compose 的基本概念以及实现原理.本文我们将继 ...

  6. Spring Boot 2.x(三):搭建开发环境(整合Spring Data JPA)

    为什么是JPA JPA虽然小众,但是足够优雅╮(╯_╰)╭,由于微服务的兴起,服务粒度的细化,多表联合的场景逐渐减少,更多的是一些简单的单表查询,而这正是JPA的强项所在.所以,以后的实战项目中我也会 ...

  7. 痞子衡嵌入式:飞思卡尔i.MX RT系列MCU启动那些事(8)- 从Raw NAND启动

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是飞思卡尔i.MX RT系列MCU的Raw NAND启动. 前面铺垫了七篇启动系列文章,终于该讲具体Boot Device了,我们知道i. ...

  8. Python3+Selenium2完整的自动化测试实现之旅(二):IE和Chrome浏览器驱动配置

    上一篇写了自动化测试需要的最基础环境配置,地址:https://www.cnblogs.com/tdp0108/p/10412073.html 当前市面上很多公司开发的应用软件都是BS架构,即基于浏览 ...

  9. JDK动态代理深入理解分析并手写简易JDK动态代理(上)

    原文同步发表至个人博客[夜月归途] 原文链接:http://www.guitu18.com/se/java/2019-01-03/27.html 作者:夜月归途 出处:http://www.guitu ...

  10. 用meterpreter实现跳板机

      meterpreter跳板机 背景:渗透测试者A拿到了B主机的控制权,但没有拿到ssh密码(不能打ssh隧道).现需横向移动渗透内网主机C,为了避免动作过大不便直接在B上对C进行渗透,其中C不能出 ...