我的编程空间,编程开发者的网络收藏夹
学习永远不晚

python-模块

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

python-模块

一:模块的基本认识:

  1. 内置模块
    • 内置模块是python自带的功能,在使用内置模块相应功能时,需要先导入再使用  
  2.  第三方模块
    • 下载-->安装-->使用
      1.找到python所在的根目录-->再找到Scripts目录-->最后找到pip.exe
      2.把pip.exe所在的目录添加到环境变量中
      3.pip install 要安装的模块名称   #pip install xlrd
      
      #安装完成后,如果导入不成功
          - 重启pycharm
           - 安装错了 
  3. 自定义模块
    • 自己写一个模块(一个py文件) : aaa.py
      def f1():
          prinrt('f1')
      def f2():
          print('f2')
    • 在另一个py文件中调用模块中的功能 :a1.py
      #调自定义模块中的功能
      import aaa
      aaa.f1()
      aaa.f2() 
    • 运行
      a1.py 

二:模块的调用

1.示例一:

# xxx.py

def show():
    print('nihao')
def func():
    pass

print(111)
#导入模块,加载此模块中的所有值到内存(一)
import xxx
print(222)
##调用模块中的函数
xxx.func()

 

#导入模块(二)
from xxx import func,show
from xxx import func
from xxx import *
func()

 

#导入模块(三)
from xxx import func as f  #起别名
def func():
    print(222)
f()

2.示例二:

xxxxxx  #(某个文件夹)
   -jd.py  #里面有个f1函数
   -tb.py
   -pdd.py
import xxxxxx.jd
jd.f1()
from xxxxxx import jd
jd.f1()

 

from xxxxxx.jd import f1
f1()

 

3.总结

 

模快和要执行的py文件在同一目录且需要模块中的很多功能时,推荐使用:import 模块

 

  • 其他推荐:from 模块 inport 模块 模块.函数()

  • 其他推荐:from 模块.模块 import 函数()

三:内置模块及其使用方法

  • .random

    #获取6个Unicode对应表中十进制相对应的数据

    import random def get_random_code(length = 6): data = [] for i in range(length): v = random.randint(65,90) data.append(chr(v)) return ''.join(data) code = get_random_code() print(code)
    import random # 导入一个模块
    v = random.randint(起始,终止)  #得到一个随机数

 

  • .hashlib :用于加密相关的操作,代替了md5模块和sha模块

 

  • 将指定的'字符串'进行加密
    import hashlib
    def get_md5(num):
        obj = hashlib.md5()
        obj.update(data.encode(utf-8))
        result = obj.hexdigest()
        return result
    val = get_md5('某段数字')
    print(val)
  • 加盐 : (让密码更加安全)
    import hashlib
    
    def get_md5(data):         # md5括号内的内容越长,越不容易被破解
        obj = hashlib.md5("sidrsicxwersdfsaersdfsdfresdy54436jgfdsjdxff123ad".encode('utf-8'))
        obj.update(data.encode('utf-8'))
        result = obj.hexdigest()
        return result
    
    val = get_md5('123')
    print(val)
  • sys : python解释器相关的数据
    • sys.getrefcount : 获取一个值的应用计数
      import sys  #导入模块
      a = [1,2,3]
      b = a
      print(sys.getrefcount(a)) 
      #结果为:3   相当于a被使用了三次
    • sys.getrecursionlimit : python中默认支持的递归数量
      import sys 
      print(sys.getrecursionlimit())
      # 结果为 :1000
    • sys.argv : 命令行参数,第一个元素是程序本身路径

      #写一个脚本,接收两个参数。

      • 第一个参数:文件
      • 第二个参数:内容

      #请将第二个参数中的内容写入到 文件(第一个参数)中

      import sys
      
      if len(sys.argv) < 3:
          print('参数不够,请重新运行')
      else:
          file_path = sys.argv[1]
          content = sys.argv[2]
          with open(file_path,mode='w',encoding='utf-8') as f:
              f.write(content) 
    • sys.path : 默认python去导入模块时,会按照sys.path中的路径挨个查找
      import sys
      sys.path.append('D:\\')
      import oldboy
  • os : 和操作系统相关的数据
    • os.path.exists(path) , 如果path存在,返回True;如果path不存在,返回False
    • os.stat('某个文件').st_size : 获取文件大小

    • os.path.abspath() : 获取一个文件的绝对路径

      path = '某个需要查看路径的文件' 
      
      import os
      v1 = os.path.abspath(path)
      print(v1)  # 这个文件所在的全部目录

       

    • os.path.dirname : 获取路径的上级目录
      import os
      v = r"C:\python36\新建文件夹\python36.exe D:/第三周/day14.py"
      print(os.path.dirname(v))
      
      #C:\python36\新建文件夹\python36.exe D:/第三周   一级一级往上走 
    • os.path.join : 路径的拼接
      import os
      path = "C:\python36\新建文件夹\python36.exe" 
      v = 'n.txt'
      
      result = os.path.join(path,v)
      print(result)
      #C:\python36\新建文件夹\python36.exe \n.txt
      
      result = os.path.join(path,'n1','n2','n3')
      print(result)
      #C:\python36\新建文件夹\python36.exe \n1\n2\n3
    • os.listdir :查看一个目录下所有的文件(第一层)
      import os
      result  = os.listdir(r'D:\untitled')
      for i in result:
          print(i)
    • os.walk : 查看一个目录下所有的文件(所有层)
      import os
      
      result = os.walk(r'D:\untitled')
      for a,b,c in result:
          # a,正在查看的目录 b,此目录下的文件夹  c,此目录下的文件
          for item in c:
              path = os.path.join(a,item)
              print(path)
    •  os.makedirs 创建目录和子目录

 

    • os.rename 重命名
      import os
      os.rename('某个文件的名字','想要修改后的名字')
    • os.stat 读取文件大小
      import os
      #1.读取文件大小(字节)
      file_size = os.stat('某个文件').st_size
      #2. 一点一点读取文件
      read_size = 0
      with open('某个文件',mode='rb') as f1,open('将要写入的文件',mode='wb') as f2:
          while read_size < file_size:
              chunk = f1.read(1024) #每次最多去读取1024字节
              f2.write(chunk)
              read_size += len(chunk)
              val = int(read_size / file_size * 100)   #查看打印进度
              print('%s%%\r' %val ,end='')
  • json&pickle

    • json : 一个特殊的字符串 [长得像列表/字典/字符串/数字/真假]

      • 优点:所有语言通用;缺点:只能序列化基本的数据类型

      • json.dumps 序列化

      • json.loads 反序列化

    • pickle:优点:python中所有的东西都能被他序列化 缺点:序列化的内容只有python认识
      import json
      #序列化:将python的值转换为json格式的字符串
      v = [11,22,{'k1':'v1'},True,'ggg']
      v1 = json.dumps(v)
      print(v1)    #"[11, 22, {"k1": "v1"}, true, "ggg"]"
      
      #反序列化 : 将json格式的字符串转换成python的数据类型
      v2 = '["alex",123]'
      print(type(v2))  #字符串类型
      v3 = json.loads(v2)
      print(v3,type(v3))   #['alex', 123] <class 'list'>
    • 字典或列表中如有中文,序列化时想要保留中文显示
      v = {'k1':'alex','k2':'李杰'}
      
      import json
      val = json.dumps(v,ensure_ascii=False)
      print(val)

 

    • 注意:

      • json 最外层必须是容器类的,如列表/字典,元组会被转换为列表.

      • 里面的内容可以是:str int bool list tuple 集合不能存在于json中

      • 字串必须使用双引号(" ")连接

 

 

  • shutil

    • 删除目录

      import shutil
      shutil.rmtree('要删除的目录')

       

       

    •  重命名
      import shutil
      shutil.move('原目录','修改后的目录')

       

    •  压缩文件 shutil.make_archive
      import shutil
      shutil.make_archive('要压缩的文件','文件的后缀名(如zip)','要压缩到的路径')

       

    •  解压文件 shutil.unpack_archive
      import shutil
      shutil.unpack_archive('要解压的文件',extract_dir=r'D:\code\xxxxxx\xxxx',format='zip')

       

  • time&datetime

    • UTG/GMT 世界时间

    • 本地时间 本地时区的时间

    • time :

      1. time.time() 时间戳(获取当前时间) 从1970-1-1 00:00 后走过的秒数

      2. time.sleep(8) 等待的秒数

    •  获取datetime格式时间
      import time
      from datetime import datetime,timezone,timedelta
      
      v1 = datetime.now()  # 获取当前本地时间
      print(v1)            # 2019-04-18 16:39:31.802269
      
      tz = timezone(timedelta(hours=7)) #当前东7区时间  (如要获取西7区时间 hours=-7)
      v2 = datetime.now(tz)
      print(v2)         #2019-04-18 15:39:31.802269+07:00   (中国在东8区,所以慢一个小时)
      
      v3 = datetime.utcnow()    #当前UTC时间(世界时间)
      print(v3)                 #2019-04-18 08:39:31.802269  (比中国时间慢8个小时)

       

    •  把datetime格式转换成字符串 (strftime)
      import time
      from datetime import datetime,timezone,timedelta
      
      v1 = datetime.now()
      val = v1.strftime("%Y-%m-%d %H:%M:%S")  #(年-月-日 时:分:秒)
      print(val)    #2019-04-18 16:48:29

       

    •  字符串转成datetime格式 datetime.strptime
      import time
      from datetime import datetime,timezone,timedelta
      
      v1 = datetime.strptime('2019-4-18','%Y-%m-%d')
      print(v1,type(v1))  # 2019-04-18 00:00:00 <class 'datetime.datetime'>

       

    •  datetime时间的加减
      import time
      from datetime import datetime,timezone,timedelta
      
      v1 = datetime.strptime('2008-08-08','%Y-%m-d')   
      v2 = v1-timedelta(days=150)   #括号里的内容可以是:(year+或-  month+或-)
      data = v2.strftime('%Y-%m-%d')
      print(data)  #2008-03-11
      
      #先转换为datetime格式进行加减,然后转换为字符串格式打印出来

       

    •  时间戳和datetime的关系
      import time
      from datetime import datetime,timezone,timedelta
      
      ctime = time.time()
      print(ctime)  # 1555578896.8276453
      v1 = datetime.fromtimestamp(ctime)
      print(v1) # 2019-04-18 17:14:56.827645
      
      v1 = datetime.now()
      val = v1.timestamp()
      print(val)  #1555579030.002739

       

 四:异常处理

#固定搭配

 try:


 except Exception as e:
#写函数去,接受一个列表。列表中都是url,请访问每个地址并获取结果。
import requests 
def func(url_list):
    result = []
    try:
        for url in url_list:
            response = requests.get(url)
            result.append(response.text)
    except Exception as e:
        pass
    return result    #['http://www.baidu.com']  (中国无法访问谷歌)

def func2(url_list):
    result = []
    for url in url_list:
        try:
            response = requests.get(url)
            result.append(response.text)
        except Exception as e:
            pass
    return result   #['http://www.baidu.com','http://www.bing.com']

func(['http://www.baidu.com','http://www.google.com','http://www.bing.com']) 

 

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

python-模块

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

python模块:smtplib模块

1.使用本地的sendmail协议进行邮件发送格式(1):smtpObj=smtplib.SMTP([host [,port [,local_hostname]]])host:SMTP服务器主机的IP地址或者是域名port:服务的端口号(默
2023-01-31

Python模块:time模块

time模块:python中处理时间的基础模块,有时间戳,元组,自定义,三种时间表现形式。python中时间戳的值是以1970年1月1日0点开始计算的,单位是秒。时间戳:就是两个时间差的数值。时区:传说中在开发服务器/客户端程序时,时区不一
2023-01-31

使用Python模块:struct模块

Python没有提供直接的将用户定义的数据类型和文件IO关联起来的功能,但是它提供了struct库(是一个内置库)——我们可以以二进制模式来写这些数据(有趣的是,它真的是设计来讲文本数据写为缓存的)1)bytes、strbytes是Pyth
2023-01-31

Python模块

初步认识安装完python后,python自带一部分模块,自带的模块又称作内置模块。其中一部分模块在路径Lib下。(这里的文件夹可以看做包,可以把多个模块放进一个包里)从模块的来源来讲,可以分三种:内置模块、自定义模块(自己定义的)、第三方
2023-01-30

python-模块

一:模块的基本认识:内置模块内置模块是python自带的功能,在使用内置模块相应功能时,需要先导入再使用   第三方模块下载-->安装-->使用1.找到python所在的根目录-->再找到Scripts目录-->最后找到pip.exe2.把
2023-01-31

python - 模块

参考:https://www.cnblogs.com/nulige/p/6166205.html一、模块介绍Python Module(模块),就是一个保存了Python代码的文件。模块能定义函数,类和变量。模块里也能包含可执行的代码。文件
2023-01-31

python模块学习----nmap模块

安装nmap模块:pip install python_nmanmap模块说明:python-nmap是一个帮助使用nmap端口扫描器的python库。它允许轻松操纵nmap扫描结果,并且将是一个完美的选择,为需要自动完成扫描任务的系统管理
2023-01-31

python 模块

python的模块分为2种:1.标准库(不需要安装,直接导入就可以使用的)2.第三方库(必须要手动安装的)先来介绍2个标准库:sys和os#!/usr/bin/envpython#coding:utf-8__author__=www.py3
2023-01-30

python加密模块-hashlib模块

hashlib模块用于加密相关的操作,3.X里代替了md5模块和sha模块,主要提供SHA1,SHA224,SHA256,SHA384,SHA512,MD5算法(sha比md5 更复杂、md5 不能反解)具体应用:用于网站防篡改。具体方法:
2023-01-31

Python模块学习之IPy模块

IP地址规划是网络设计中非常重要的一个环节,规划的好坏会直接影响路由协议算法的效率,包括网络性能、可扩展性等方面,在这个过程当中,免不了要计算大量的IP地址,包括网段、网络掩码、广播地址、子网数、IP类型等。Python提供了一个强大的第三
2023-01-31

【Python模块】Python UUI

uuid是128位的全局唯一标识符(univeral unique identifier),通常用32位的一个字符串的形式来表现。有时也称guid(global unique identifier)。python中自带了uuid模块来进行u
2023-01-31

Python logging模块

logging模块是Python的一个标准库模块,开发过程中,可以通过该模块,灵活的完成日志的记录。logging模块提供了两种记录日志的方式:    1)使用logging提供的模块级别的函数(logging.basicConfig,lo
2023-01-31

python resource 模块

(只用于 Unix , 可选) resource 模块用于查询或修改当前系统资源限制设置. Example 12-10 展示了如何执行查询操作, Example 12-11 展示了如何执行修改操作Example 12-10. 使用 reso
2023-01-31

python os.path模块

join:连接字符串数组。将字符串、元组、列表中的元素以指定的字符(分隔符)连接生成一个新的字符串os.path.join():  将多个路径组合后返回一、函数说明1.join()函数语法:‘sep’.join(seq)参数说明:sep:分
2023-01-31

python模块--collection

python的内建模块collections有几个关键的数据结构,平常在使用的时候,开发者可以直接调用,不需要自己重复制造轮子,这样可以提高开发效率。 1. deque双端队列平常我们使用的python内置list类的append,exte
2023-01-30

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录