ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

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

2022-07-15 21:02:36  阅读:178  来源: 互联网

标签:15 07 Python datetime json 模块 print path os


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格式字符串读取出来并转换成对应的数据类型
"""

标签:15,07,Python,datetime,json,模块,print,path,os
来源: https://www.cnblogs.com/dy12138/p/16482765.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有