Python开发【内置模块篇】
动态导入模块
动态导入模块
导入一个库名为字符串的
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开发【内置模块篇】的更多相关文章
- 《python开发技术详解》|百度网盘免费下载|Python开发入门篇
<python开发技术详解>|百度网盘免费下载|Python开发入门篇 提取码:2sby 内容简介 Python是目前最流行的动态脚本语言之一.本书共27章,由浅入深.全面系统地介绍了利 ...
- python开发第一篇:初识python
一. Python介绍 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为AB ...
- Python开发第一篇
Python 是什么? 首先他可能是比较好的一个编程开发语言!
- Python开发 第一篇 python的前世今生
Python前世今生 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC ...
- python开发[第二篇]------str的7个必须掌握的方法以及五个常用方法
在Python中 基本数据类型有 str int boolean list dict tuple等 其中str的相关方法有30多个 但是常用的就以下7个 join # split # find # ...
- python开发第二篇 :python基础
python基础a.Python基础 -基础1. 第一句python -python后缀名可以任意? -导入模块时如果不是.py文件,以后的文件后缀名是.py.2.两种 ...
- Python开发 基础篇
2019-02-01 产生验证码: 用户输入的值和显示的值相同时显示Correct,否则继续生成随机验证码等待用户输入 def check_code(): import random checkcod ...
- Python开发第二篇
运算符 1.算术运算符 % 取余运算符,返回余数 ** 幂运算符 //返回商的整数部分 2.逻辑运算符 and 与运算符 a and b 如果a为False是,表达式为False,如果a为True返 ...
- Python开发【第六篇】:模块
模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个复杂的功能来,可能需要多个函数才 ...
- Python开发【第二篇】:初识Python
Python开发[第二篇]:初识Python Python简介 Python前世今生 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏 ...
随机推荐
- 漫画:全面理解java.lang.IllegalArgumentException及其可用性设计
经过一段时间的学习与实践,飞鸟已经可以独力解决一些问题.小鱼就让飞鸟讲述一些遇到的问题和解决过程. 报错日志: 这个产生的原因是我覆盖Collections.sort的Comparator方法的时候 ...
- Asp.Net Core 程序部署到Linux(centos)生产环境(一):普通部署
运行环境 照例,先亮底 centos:7.2 cpu:1核 2G内存 1M带宽 辅助工具:xshell xftp 搭建.net core运行环境 .net core 的运行环境我单独写了一篇,请看我的 ...
- leetcode — binary-tree-maximum-path-sum
/** * * Source : https://oj.leetcode.com/problems/binary-tree-maximum-path-sum/ * * * Given a binary ...
- 痞子衡嵌入式:ARM Cortex-M内核那些事(2)- 第一款微控制器
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是第一款Cortex-M微控制器. 1.天生荣耀:ARM Cortex-M处理器由来 ARM公司自2004年推出ARMv7内核架构时,摒弃 ...
- Java基础之 数组详解
前言:Java内功心法之数组详解,看完这篇你向Java大神的路上又迈出了一步(有什么问题或者需要资料可以联系我的扣扣:734999078) 数组概念 同一种类型数据的集合.其实数组就是一个容器. 数组 ...
- .Net Core 实践 - 使用log4net记录日志(3)— log4net向ElasticSearch写日志
demo地址:https://github.com/PuzzledAlien/log4net_demo/tree/master/DotNetCoreConsole_V3 Windows 10 安装部署 ...
- C#实现窗体全屏
方法一:设置窗体属性 //程序启动路径,与生成程序的exe文件在同一目录下 public String exePath = Application.StartupPath; //定义窗体宽高 ; ; ...
- [Linux] 搭建rsync服务端
rsync是unix/linux下同步文件的一个高效算法,它能同步更新两处计算机的文件与目录,并适当利用查找文件中的不同块以减少数据传输. Linux守护进程的运行方式:1.独立运行(stand-al ...
- [android]android下apk的安装过程
/********************2016年4月23日更新********************************/ 知乎:有什么apk分析工具? 拿到了一个apk文件,怀疑不安全,在 ...
- 分享一些 Windows 平台上的神器
下面分享一些 Windows 平台上日常开发使用的软件,有些软件我自认为是神器,可以大大提高效率. 编辑器类软件 IntelliJ IDEA IntelliJ IDEA 内部集成 Java 开发环境, ...