【2022-07-15】Python常用内置模块


Python常见内置模块

datetime模块

  • 与time模块类似,都是可以对时间进行一些相关的操作
  • py文件名称尽量不要与模块名冲突(内置、第三方)
import datetime    

tes = datetime.datetime.today()
print(tes)                            # 2022-07-15 15:36:27.904993
tes1 = datetime.date.today()
print(tes1)                           # 2022-07-15

"""
如何区分时间模块中的年月日、时分秒
datetime       年月日 时分秒

date           年月日
"""

test2 = datetime.timedelta(days=6)
print(tes1 + test2)                 # 2022-07-21
print(tes1 - test2)                 # 2022-07-09
"""
timedelta后面的括号内可以添加很多参数,也可以通过换算进行获取,比如年、月
"""

print(datetime.datetime.now())  # 2022-07-15 15:50:23.004384
print(datetime.datetime.utcnow())  # 2022-07-15 07:50:23.004384

assign = datetime.datetime(2018, 1, 1, 00, 00)
print('时空穿梭:', assign)              # 时空穿梭: 2018-01-01 00:00:00

os模块

  • os模块是与操作系统交互的一个接口
import os

# 1.创建目录
# os.mkdir(r'home')                    # 可以创建单层目录,无法创建多级目录
# os.makedirs(r'tmp/dev/sdb/src1')     # 创建多级目录
# os.makedirs(r'etc')                  # makedirs也可以创建单级目录
# 2.删除目录
# os.rmdir(r'etc')                     # 删除单级目录,无法删除有其他数据的目录 只能删除空白文件夹
# os.removedirs(r'tmp/dev/sdb/src1')   # 删除多级目录,针对有数据的目录同样无法删除  由内而外删除空目录,直到有数据的目录为止
# 3.列举指定路径下的文件名称(文件、目录)
# print(os.listdir())                  # ['.idea', 'datatime.py', 'home', 'os模块.py', '__pycache__']
# print(os.listdir(r'D://'))           # 查看当前盘符内所有的文件夹
# 4.重命名文件、删除文件
# os.rename(r'userinfo.txt', r'my_info.txt')          # 重命名文件
# os.remove(r'my_info.txt')                           # 删除文件
# 5.获取当前所在的路径
# print(os.getcwd())                                    # D:/python/study/day21  绝对路径
# os.chdir(r'..')                                       # 切换路径
# print(os.getcwd())                                    # D:/python/study
# 6.与程序启动文件相关
# print(os.path.abspath(__file__))                     # 获取当前文件的绝对路径
# print(os.path.dirname(__file__))                     # 获取当前文件所在的目录路径
# 7.判断路径是否存在(文件、目录)
# print(os.path.exists(r'home'))                         # True
# print(os.path.exists(r'test'))                         # False
# print(os.path.exists(r'datatime.py'))                  # True
# print(os.path.exists(r'userinfo.txt'))                 # False
# print(os.path.isdir(r'home'))                          # True   用于判断路径是否是目录(文件夹)
# print(os.path.isdir(r'datatime.py'))                   # False
# print(os.path.isfile(r'home'))                         # False  用于判断路径是否是文件
# print(os.path.isfile('datatime.py'))                   # True
# 8.拼接路径
# relative_path = 'userinfo.txt'
# absolute_path = r'D:/python/study/day21/tmp'
# print(absolute_path + relative_path)
"""
涉及到路径拼接,不要使用+号  用join方法
"""
# res = os.path.join(absolute_path, relative_path)
# print(res)                  # D:/python/study/day21/tmp/userinfo.txt
# ps:join方法可以自动识别当前所在的操作系统并自动切换正确的分隔符  windows用/   mac用/
# 9.获取文件大小  bytes
# print(os.path.getsize(r'os模块.py'))             # 2715
# print(os.path.getsize(r'userinfo.txt'))         # 260

sys模块

  • sys模块是与python解释器交互的一个接口
# sys.argv           命令行参数List,第一个元素是程序本身路径
# sys.exit(n)        退出程序,正常退出时exit(0),错误退出sys.exit(1)
# sys.version        获取Python解释程序的版本信息
# sys.path           返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值
# sys.platform       返回操作系统平台名称

import sys

# print(sys.path)        # 结果是个列表
# print(sys.version)     # 3.8.6 (tags/v3.8.6:db45529, Sep 23 2020, 15:52:53) [MSC v.1927 64 bit (AMD64)]  查看解释器版本信息
# print(sys.platform)    # 查看当前平台   win32
res = sys.argv
if len(res) == 3:
    username = res[1]
    password = res[2]
    if username == 'zhangsan' and password == '666':
        print('you can perform')
    else:
        print('username and password error')
else:
    print('please input username and password')


json模块

json模块也称之为序列化模块
json模块是不同编程语言之间数据交互必备的模块(处理措施)
不同编程语言之间数据类型存在差异,无法直接进行交互
    
json格式的数据应该是什么
	数据基于网络传输肯定是二进制 那么在python中只有字符串可以调用encode方法转成二进制数据 所以json格式的数据也属于字符串

json格式的数据有一个非常明显的特征
	首先肯定是字符串 其次引号是标志性的双引号
    


# dic = {'name': 'zhangsan', 'pwd': 666}
"""
需求:将上述字典中的保存到文件中,并且读取出来之后还是字典
"""

# with open(r'dic.txt', 'w', encoding='utf8') as f:
#     f.write(str(dic))
# with open(r'dic.txt', 'r', encoding='utf8') as f:
#     data = f.read()
#     print(data, type(data))         # {'name': 'zhangsan', 'pwd': 666} <class 'str'>

# import json   # 序列化 将其他数据类型转换为json格式字符串
# userinfo = json.dumps(dic)
# print(userinfo, type(userinfo))   # {"name": "zhangsan", "pwd": 666} <class 'str'>

# dic1 = {"name": "lisi", "pwd": 777}
# print(dic1)                         # {'name': 'lisi', 'pwd': 777}

# userinfo1 = json.loads(userinfo)     # 反序列化  将json格式字符串转换为对应的编程语言中的数据类型
# print(userinfo1, type(userinfo1))    # {'name': 'zhangsan', 'pwd': 666} <class 'dict'>


# import json

# with open(r'dic.txt', 'w', encoding='utf8') as f:
    # f.write(json.dumps(dic))           # {"name": "zhangsan", "pwd": 666}
    # json.dump(dic, f)                    # 直接将字典写入文件,json会自动完成格式转换
# with open(r'dic.txt', 'r', encoding='utf8') as f:
    # data = f.read()
    # res = json.loads(data)
    # print(res, type(res))             # {'name': 'zhangsan', 'pwd': 666} <class 'dict'>
    # res = json.load(f)
    # print(res, type(res))             # {'name': 'zhangsan', 'pwd': 666} <class 'dict'>
    
    
"""
dumps()     将其他数据类型转换成json格式字符串
loads()     将json格式字符串转化成对应的数据类型

dump()      将其他数据数据以json格式字符串写入文件
load()      将文件中json格式字符串读取出来并转换成对应的数据类型
"""

原创文章,作者:kepupublish,如若转载,请注明出处:https://blog.ytso.com/274609.html

(0)
上一篇 2022年7月15日
下一篇 2022年7月15日

相关推荐

发表回复

登录后才能评论