一、模块

什么是模块?

模块实质上就是一个python文件,它是用来组织代码的,意思就是说把python代码写到里面,文件名就是模块的名称,test.py test就是模块名称。

1.1 导入模块

import module #导入模块
from module import * #导入该模块中的所有方法,慎用
from module import fun as xx_fun #导入指定的方法,然后起别名
from module import fun1,fun2,fun3 #导入模块下的多个方法
import module,实际上就是把该模块的代码赋值给模块名,也就是module.py里面所有的代码,赋值给了module这个变量,如果是from module import fun,就是把module打开,把module里面的fun方法拿过来使用

导入模块的本质,就是把python文件拿过来执行一次。

1.2 模块分类

标准库:python内置的
开源模块:第三方
自定义模块:自己写的

if __name__ == '__main__':
这个模块被导入时,这里的代码不会被执行

1.3 第三方模块安装

    1、pip install xxx
2、whl,首先要下载whl文件
pip install xxx.whl
3、.tar.gz 压缩包,下载.tar.gz压缩包
1、解压
2、进入目录
3、执行python setup.py install

1.4 卸载和升级

pip uninstall xxx
pip install -U xxx # 升级到最新
pip install --upgrade xxx

1.5 换电脑后怎么批量安装之前安装过的第三方模块

导出已经安装过的依赖
pip freeze > xxx.txt
安装指定文件里面的模块
pip install -r xxx.txt

二、os模块

2.1 os模块常用方法

import os

print(os.listdir('..\lhy\lhy_homework'))  # 获取某个目录下的内容
os.mkdir() # 创建文件夹,如果文件夹已存在,会报错
os.makedirs('..\java\day1') # 递归创建文件夹,父目录不存在的时候,会创建父目录 os.remove('file_name') # 删除文件,不能删除文件夹
os.rmdir('wenjianjia_name') # 删除空文件夹
os.rename('file_name', 'new_file_name') # 重命名,文件和文件夹都可以
print(os.getcwd()) # 获取当前所在的目录
os.chdir('..\lhy_homework') # 进入到某个目录里面
print(os.environ) # 获取系统环境变量里面配置的内容 print(os.system('ipconfig')) # 执行操作系统命令,它只能帮你执行,不能拿到命令的结果
# 它返回的是命令执行是否成功,如果返回的是0,代表执行成功
print(os.popen('ipconfig').read()) # 执行操作系统命令,可以拿到命令的结果 print(os.path.split('..\a.py')) # 分隔路径和文件名的
print(os.path.join('e:', 'movies', 'dapian')) # 拼接路径 会自动根据系统选择系统分隔符
# 绝对路径。例如:E:\pyWorkSpace\lhy\lhy_homework\day05\ketanglianxi_05\a.py
os.path.abspath('lujing_name') # 把相对路径转为绝对路径
os.path.dirname() # 取当前文件的父目录 print(os.path.isfile('file_name')) # 是否为文件
os.path.isdir('file_name') # 是否为文件夹
os.path.exists('file_name') # 文件是否存在
os.path.getsize('file_name') # 获取大小
os.path.getctime('file_name') # 创建时间
os.path.getmtime('file_name') # 修改时间
os.path.getatime('file_name') # 最后访问时间 print(os.path.sep) # 当前系统的路径分隔符

2.2 os模块常用方法小练习

import os
# __file__代表当前文件 #E:\pyWorkSpace\lhy\lhy_homework\day05\ketanglianxi_05\python\lib\op_sql.py
base_path = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) # 一层层获取父级目录
sql_file = os.path.join(base_path, 'sqls', 'create.sql')
print(os.path.abspath(__file__))
print(os.path.dirname(os.path.abspath(__file__)))
print(sql_file) #os.walk 递归遍历文件夹
for cur_path, dirs, files in os.walk(r'E:\pyWorkSpace\lhy\lhy_homework'): # cur_path:当前访问的目录,dirs :当前目录下的所有文件夹,files:当前文件夹中的所有文件
print('在当前%s目录下查找:'% cur_path)
for file in files:
if file.endswith('.mp4'):
print('在s%发现视频文件'% cur_path)
break

三、time模块

import time
# 时间戳 一串数字 从unix元年开始 过1秒 就+1 print(time.time()) # 当前的时间戳
print(time.strftime('%Y-%m-%d %H:%M:%S')) # 当前格式化好的时间 # 计算10天后的时间戳
ten_days_later = int(time.time()) - 60 * 60 * 24 * 3
print('三天前:', ten_days_later)
print('now:', int(time.time()))
str_time = '2020-08-29 17:33:38'
time_stamp = 1598693618 # 时间元组
# 时间戳转格式化好的时间
print(time.localtime(time_stamp)) # 当前时区的时间元组
print(time.gmtime(time_stamp)) # 标准时区的时间元组
print(time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time_stamp))) # 把时间戳转格式化时间 # 格式化好的时间转时间戳
time_tuple = time.strptime(str_time, '%Y-%m-%d %H:%M:%S')
time_stamp_now = time.mktime(time_tuple)
print(time_stamp_now) # 把时间戳转为格式化为年-月-日的时间
now_ymd_str = time.strftime('%Y-%m-%d', time.localtime(time.time()))
# 把年-月-日的时间转为时间戳
now_ymd_stamp = time.mktime(time.strptime(now_ymd_str, '%Y-%m-%d'))

 四、random模块

import random, string

print(random.randint(1, 10))  # 随机整数生成,首尾都包含
print(random.uniform(1, 10)) # 随机小数生成,首尾都包含
print(random.choice(string.ascii_lowercase)) # 随机选择一个元素
print(random.sample(string.ascii_lowercase, 3)) # 随机选择几个元素 # 随机验证码练习
l = [random.choice(string.digits) for i in range(6)]
l2 = random.sample(string.digits, 6) # 6位验证码,不会有相同的数字
print(''.join(l))
print(''.join(l2)) l = [1, 2, 3, 4, 5, 6, 7, 8]
print('打乱之前的', l)
random.shuffle(l)
print('打乱之后的', l) s = '2131432421134'
print(sorted(s))
print(sorted(s, reverse=True)) d = {
'xh': 100,
'xb': 93,
'xz': 88,
'xl': 35
}
# 对字典进行排序
result = sorted(d.items(), key=lambda x: x[1], reverse=True) # key 这里传的是函数名,指明按字典的key还是value来排序
print(result)

 五、sys模块

sys.argv          # 命令行参数List,第一个元素是程序本身路径 ,用来获取运行python文件的时候,传过来的参数
sys.exit(n) # 退出程序,正常退出时exit(0)
sys.version # 获取Python解释程序的版本信息
sys.maxint # 最大的Int值
sys.path # 返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值
sys.platform # 返回操作系统平台名称

python 06篇 常用模块的更多相关文章

  1. python笔记之常用模块用法分析

    python笔记之常用模块用法分析 内置模块(不用import就可以直接使用) 常用内置函数 help(obj) 在线帮助, obj可是任何类型 callable(obj) 查看一个obj是不是可以像 ...

  2. 十八. Python基础(18)常用模块

    十八. Python基础(18)常用模块 1 ● 常用模块及其用途 collections模块: 一些扩展的数据类型→Counter, deque, defaultdict, namedtuple, ...

  3. python基础31[常用模块介绍]

    python基础31[常用模块介绍]   python除了关键字(keywords)和内置的类型和函数(builtins),更多的功能是通过libraries(即modules)来提供的. 常用的li ...

  4. Python全栈开发之路 【第六篇】:Python基础之常用模块

    本节内容 模块分类: 好处: 标准库: help("modules") 查看所有python自带模块列表 第三方开源模块: 自定义模块: 模块调用: import module f ...

  5. python 学习分享-常用模块篇

    模块 就是前人给你造的轮子,你开车就好!!! 常用模块有: time模块 random模块 os模块 sys模块 shutil模块 json  &  picle模块 shelve模块 xml处 ...

  6. python基础之常用模块以及格式化输出

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

  7. Day5 - Python基础5 常用模块学习

    Python 之路 Day5 - 常用模块学习   本节大纲: 模块介绍 time &datetime模块 random os sys shutil json & picle shel ...

  8. python之路——常用模块

    阅读目录 认识模块 什么是模块 模块的导入和使用 常用模块一 collections模块 时间模块 random模块 os模块 sys模块 序列化模块 re模块 常用模块二 hashlib模块 con ...

  9. Python 五个常用模块资料 os sys time re built-in

    1.os模块   os模块包装了不同操作系统的通用接口,使用户在不同操作系统下,可以使用相同的函数接口,返回相同结构的结果.   os.name:返回当前操作系统名称('posix', 'nt', ' ...

随机推荐

  1. newbee-mall开源项目被慕课网拿去做课程,然后我毫不知情,这又是什么骚操作?

    万万没想到,这种事情会发生在我身上. 之前写过<开源囧事>系列而且已经写了四篇,四次开源囧事如下: <开源囧事(一)捅娄子了,写个bug被国家信息安全漏洞共享平台抓到了?> & ...

  2. Mybatis学习-GetMybatisInMyHead

    认知 Mybatis3 中文文档 练习代码 ​ MyBatis 是一款优秀的持久层框架,它支持自定义 SQL.存储过程以及高级映射.MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结 ...

  3. nginx的请求处理

      nginx的请求处理¶ nginx使用一个多进程模型来对外提供服务,其中一个master进程,多个worker进程.master进程负责管理nginx本身和其他worker进程. 所有实际上的业务 ...

  4. Step By Step(Lua表达式和语句)

    Step By Step(Lua表达式和语句) 一.表达式:    1. 算术操作符:    Lua支持常规算术操作符有:二元的"+"."-"."*& ...

  5. 2021.5.23 noip模拟2(排序|划艇|放棋子)

    今天比昨天更惨,惨炸了 看到T1不会,跳!!! T2不会,再跳!!!! T3不会,后面没题了:::: 无奈无奈,重新看T1,然鹅时间已经过去了一个小时 然而我一想不出题来就抱着水瓶子喝水,然后跑厕所, ...

  6. deeplearning模型量化实战

    deeplearning模型量化实战 MegEngine 提供从训练到部署完整的量化支持,包括量化感知训练以及训练后量化,凭借"训练推理一体"的特性,MegEngine更能保证量化 ...

  7. 共享CUDA内存

    共享CUDA内存 进程间共享 此功能仅限于Linux. 将设备阵列导出到另一个进程 使用CUDA IPC API,可以与同一台计算机上的另一个进程共享设备阵列.为此,请使用.get_ipc_handl ...

  8. 实时双频Wi-Fi如何实现下一代车内连接

    实时双频Wi-Fi如何实现下一代车内连接 How real simultaneous dual band Wi-Fi enables next-generation in-vehicle connec ...

  9. 我的第一部原创《JavaScript 全栈开发》正式上市了!

    在经过了漫长的创作.审校过程之后,<JavaScript 全栈开发>终于迎来了在各大平台上正式出版的日子,以下是这本书的基本信息: 出品方: 异步社区:https://www.epubit ...

  10. 8, java数据结构和算法: 从阶乘来看递归的调用

    直接上代码 public class RecursionDemo { //从阶乘看 递归的调用机制 public static void main(String[] args) { System.ou ...