你平常Python中有用哪些常用的内置模块啊-,Python 常用模块

  你平常Python中有用哪些常用的内置模块啊?,Python 常用模块

  Python内置了很多模块,我们也已经接触了很多相关的模块。接下来,我们来做一些总结和介绍。在这里,我将整理出项目开发中最常用的,并加以说明。感兴趣的朋友可以跟随边肖去看一看。

  

内置模块(一)

  Python有很多内置模块,我们已经接触了很多相关模块。接下来,我们来做一些总结和介绍。

  内置的模块很多,里面的功能也很多,不能顾全大局,给大家讲解。在这里,我将整理出项目开发中最常用的来讲解一下。

  

os

  导入操作系统

  # 1.获取当前脚本的绝对路径

  ABS _ path=OS . path . ABS path(_ _ file _ _)

  打印(abs_path)

  # 2.获取当前文件的父目录

  base _ path=OS . path . dirname(OS . path . dirname(path))

  打印(基本路径)

  # 3.路径拼接

  p1=os.path.join(base_path, xx )

  打印(p1)

  p2=os.path.join(base_path, xx , oo , a1.png )

  打印(第2页)

  # 4.确定路径是否存在

  exists=os.path.exists(p1)

  打印(存在)

  # 5.创建文件夹

  Os.makedirs(路径)

  path=os.path.join(base_path, xx , oo , uuuu )

  如果不是os.path.exists(path):

  os.makedirs(路径)

  # 6.是文件夹吗?

  file _ path=OS . path . join(base _ path, xx , oo , uuuu.png )

  is_dir=os.path.isdir(文件路径)

  print(is_dir) # False

  folder _ path=OS . path . join(base _ path, xx , oo , uuuu )

  is _ dir=OS . path . isdir(folder _ path)

  print(is_dir) # True

  # 7.删除文件或文件夹

  Os.remove(文件路径)

  path=os.path.join(base_path, xx )

  shutil.rmtree(路径)

  Listdir,检查目录中的所有文件walk,检查目录中的所有文件(包括后代文件)导入os

  data=OS . list dir(/Users/feimouren/PycharmProjects/luffy course/day 14/commons )

  打印(数据)

  # [convert.py , _ _ init _ _。 py , page.py , _ _ pycache _ _ , utils.py , Tencent] #无法查看文件夹的子文件夹中的文件。

  例如,要遍历一个文件夹中的所有文件,遍历一个文件夹中的所有mp4文件数据会得到一个生成器。编译生成器时,会得到三个元素:1。文件夹路径,2。文件夹中的文件夹,以及3。如果文件夹中有任何文件夹,它将继续遍历该文件夹,并获得三个元素。

  data=OS . walk(/users/wupei qi/documents/video tutorials/flying Python/MP4 )

  对于数据:中的路径、文件夹列表、文件列表

  对于文件列表:中的文件名

  file_abs_path=os.path.join(路径,文件名)

  ext=file_abs_path.rsplit( . ,1)[-1]

  if ext==mp4:

  打印(文件_ abs _路径)

  

shutil

  导入技能

  # 1.删除文件夹

  path=os.path.join(base_path, xx )

  shutil.rmtree(路径)

  # 2.复制文件夹

  shuttil . copy tree(/users/Wu peqi/desktop/graph/csdn/,/users/Wu peqi/pycharm projects/code repository/files )

  # 3.复制文件

  shuttil . copy(/users/wupei qi/desktop/figure/csdn/wx 2020 11 23-112406 @ 2x . png ,/users/wupei qi/pycharmprojects/code repository/)

  shutil.copy(/U

  sers/wupeiqi/Desktop/图/csdn/WX20201123-112406@2x.png","/Users/wupeiqi/PycharmProjects/CodeRepository/x.png")

  # 4.文件或文件夹重命名

  shutil.move("/Users/wupeiqi/PycharmProjects/CodeRepository/x.png","/Users/wupeiqi/PycharmProjects/CodeRepository/xxxx.png")

  shutil.move("/Users/wupeiqi/PycharmProjects/CodeRepository/files","/Users/wupeiqi/PycharmProjects/CodeRepository/images")

  # 5. 压缩文件

  # base_name,压缩后的压缩包文件

  # format,压缩的格式,例如:"zip", "tar", "gztar", "bztar", or "xztar".

  # root_dir,要压缩的文件夹路径

  # shutil.make_archive(base_name=rdatafile,format=zip,root_dir=rfiles)

  # 6. 解压文件

  # filename,要解压的压缩包文件

  # extract_dir,解压的路径

  # format,压缩文件格式

  # shutil.unpack_archive(filename=rdatafile.zip, extract_dir=rxxxxxx/xo, format=zip)

  

sys

  

import sys

  # 1. 获取解释器版本

  """

  print(sys.version)

  print(sys.version_info)

  print(sys.version_info.major, sys.version_info.minor, sys.version_info.micro)

  # 2. 导入模块路径

  print(sys.path)

  

random

  

import random

  # 1. 获取范围内的随机整数

  v = random.randint(10, 20)

  print(v)

  # 2. 获取范围内的随机小数

  v = random.uniform(1, 10)

  # 3. 随机抽取一个元素

  v = random.choice([11, 22, 33, 44, 55])

  # 4. 随机抽取多个元素

  v = random.sample([11, 22, 33, 44, 55], 3)

  # 5. 打乱顺序

  data = [1, 2, 3, 4, 5, 6, 7, 8, 9]

  random.shuffle(data)

  print(data)

  

hashlib

  

import hashlib

  hash_object = hashlib.md5()

  hash_object.update("武沛齐".encode(utf-8))

  result = hash_object.hexdigest()

  print(result)

  

import hashlib

  hash_object = hashlib.md5("iajfsdunjaksdjfasdfasdf".encode(utf-8))

  hash_object.update("武沛齐".encode(utf-8))

  result = hash_object.hexdigest()

  print(result)

  """

  在加密时,为了防止密码被撞出来,通常会在第二行代码处加盐

  ,即添加我们自己知道的随机的字符串,这样就可以防止别人破解密码

  """

  

configparser

  Python中的文件

  

xml

  Python中的文件

  

json

  json模块,是python内部的一个模块,可以将python的数据格式 转换为json格式的数据,也可以将json格式的数据转换为python的数据格式。

  json格式,是一个数据格式(本质上就是个字符串,常用语网络数据传输)

  

# Python中的数据类型的格式

  data = [

   {"id": 1, "name": "飞某人", "age": 18},

   {"id": 2, "name": "alex", "age": 18},

   (feimouren,123),

  ]

  # JSON格式

  value = [{"id": 1, "name": "飞某人", "age": 18}, {"id": 2, "name": "alex", "age": 18},["feimouren",123]]

  

  Python数据类型与json格式的相互转换:

  数据类型 -> json ,一般称为:序列化

  

跨语言数据传输,例如:
A系统用Python开发,有列表类型和字典类型等。
B系统用Java开发,有数组、map等的类型。

   语言不同,基础数据类型格式都不同。

为了方便数据传输,大家约定一个格式:json格式,每种语言都是将自己数据类型转换为json格式,也可以将json格式的数据转换为自己的数据类型。

  

  Python数据类型与json格式的相互转换:

  json格式 -> 数据类型,一般称为:反序列化

  

# 实际就是将python的语法代码变成了字符串

  import json

  data = [

   {"id": 1, "name": "飞某人", "age": 18},

   {"id": 2, "name": "alex", "age": 18},

  ]

  res = json.dumps(data) # 里面的中文字符会根据unicode编码将中文转换成16进制

  print(res) # [{"id": 1, "name": "\u98de\u67d0\u4eba", "age": 18}, {"id": 2, "name": "alex", "age": 18}]

  res = json.dumps(data, ensure_ascii=False) # 设置参数为False后,会保留中文

  print(res) # [{"id": 1, "name": "飞某人", "age": 18}, {"id": 2, "name": "alex", "age": 18}]

  json格式 -> 数据类型,一般称为:反序列化

  

""" 反序列化,将特定的字符串变成python中有语法意义的代码"""

  import json

  data_string = [{"id": 1, "name": "飞某人", "age": 18}, {"id": 2, "name": "alex", "age": 18}]

  # 将字符串data_string变成了data_list列表

  data_list = json.loads(data_string)

  print(type(data_list), data_list)

  for x in data_list:

   print(x)

  """

  运行结果:

  <class list> [{id: 1, name: 飞某人, age: 18}, {id: 2, name: alex, age: 18}]

  {id: 1, name: 飞某人, age: 18}

  {id: 2, name: alex, age: 18}

  

类型要求

  python的数据类型转换为 json 格式,对数据类型是有要求的,默认只支持:

  

+-------------------+---------------+

   Python JSON

   +===================+===============+

   dict object

   +-------------------+---------------+

   list, tuple array

   +-------------------+---------------+

   str string

   +-------------------+---------------+

   int, float number

   +-------------------+---------------+

   True true

   +-------------------+---------------+

   False false

   +-------------------+---------------+

   None null

   +-------------------+---------------+

  其他类型如果想要支持,需要自定义JSONEncoder才能实现

  

import json

  from decimal import Decimal

  from datetime import datetime

  data = [

   {"id": 1, "name": "武沛齐", "age": 18, size: Decimal("18.99"), ctime: datetime.now()},

   {"id": 2, "name": "alex", "age": 18, size: Decimal("9.99"), ctime: datetime.now()},

  ]

  class MyJSONEncoder(json.JSONEncoder):

   def default(self, o):

   if type(o) == Decimal:

   return str(o)

   elif type(o) == datetime:

   return o.strftime("%Y-%M-%d")

   return super().default(o)

  res = json.dumps(data, cls=MyJSONEncoder)

  print(res)

  

其他功能

  json模块中常用的是:

  

  • json.dumps,序列化生成一个字符串。
  • json.loads,发序列化生成python数据类型。
  • json.dump,将数据序列化并写入文件(不常用)
  • json.load,读取文件中的数据并反序列化为python的数据类型(不常用)

  

"""将序列化的代码写入文件中使用dump"""

  import json

  data = [

   {"id": 1, "name": "飞某人", "age": 18},

   {"id": 2, "name": "alex", "age": 18},

  ]

  file_object = open(xxx.json, mode=w, encoding=utf-8)

  json.dump(data, file_object) # 将data列表进行序列化,写入file_object.json文件中

  file_object.close()

  

"""将文件中的特定字符串反序列化成python中的代码"""

  import json

  file_object = open(xxx.json, mode=r, encoding=utf-8)

  data_list = json.load(file_object)

  print(type(data_list),data_list)

  """

  运行结果:

  <class list> [{id: 1, name: 飞某人, age: 18}, {id: 2, name: alex, age: 18}]

  """

  到此这篇关于python中常用的内置模块的文章就介绍到这了,更多相关python内置模块内容请搜索盛行IT软件开发工作室以前的文章或继续浏览下面的相关文章希望大家以后多多支持盛行IT软件开发工作室!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: