内置包是python自带的一些功能模块,有需求时可以在自己文件中直接导入使用。

1.datetime包

  python中的时间包,可以在业务开发中辅助我们处理时间信息;

# datetime可以获取当前时间
from datetime import datetime
re = datetime.now()
print(re) # 2022-12-07 16:32:37.000297 # 或者
import datetime
re = datetime.datetime.now()
print(re) # 2022-12-07 16:33:41.135512 '''
datetime可以获取时间间隔
利用timedelta方法
timedelta(days=0,seconds=0,microseconds=0,milliseconds=0,minutes=0,hours=0,week=0)
所需的间隔参数可按需添加
一般结合datetime.datetime.now()使用
'''
# eg:获取昨天时间对象
import datetime
yesterday = datetime.datetime.now() - datetime.timedelta(days=1) # 用加减表示时间得前后
print(yesterday) # 2022-12-06 16:52:49.028523
print(type(yesterday)) # <class 'datetime.datetime'>

  上面的例子中获取到的时间值都是一个datetime时间对象,不方便信息存储和传递,可以转化成字符串处理;

import datetime

now = datetime.datetime.now()
now_str = now.strftime('%Y-%m-%d %H:%M:%S')
print(now_str) # 2022-12-07 17:40:09 (这种时间格式就符合我们平常的使用和展示了)
print(type(now_str)) # <class 'str'> after_hour = datetime.datetime.now() + datetime.timedelta(hours=1)
print(after_hour) # 2022-12-07 18:40:09.615895
print(after_hour.strftime('%Y-%m-%d %H:%M:%S')) # 2022-12-07 18:40:09 # 有时还需要反向操作,将时间字符串转化为datetime时间对象
# 将'2022-12-07 17:45:09'转化成datetime时间对象(此时字符串内的时间格式要是标准的,否则会报错)
datetime_object = datetime.datetime.strptime('2022-12-07 17:45:09', '%Y-%m-%d %H:%M:%S')
print(datetime_object) # 2022-12-07 17:45:09
print(type(datetime_object)) # <class 'datetime.datetime'>
# 此时可以拿着时间对象进行时间间隔等的计算了

2.time包

  同样是用于处理时间、转换时间格式的模块;

'''
先看下什么是时间戳:
英文用timestamp表示
是1970年1月1日00时00分00秒至今的总毫秒数 (python中默认是按秒表示时间戳的)
python中时间戳是float类型
'''
import time
# time获取当前时间戳
now_timestamp = time.time()
print(now_timestamp) # 1670470817.385102 (返回一个秒级别的时间戳,打印的是脚本真正执行时的时间戳)
print(type(now_timestamp)) # <class 'float'> # 获取本地时间 time.localtime(timestamp)
# 我们在使用time.time()获取到的时间戳并不能直观看出时间,可以借助localtime获得直观的时间格式
# 所以localtime一般用于转换时间戳为可读时间格式对象的场景
time_local = time.localtime(now_timestamp)
print(time_local)
# time.struct_time(tm_year=2022, tm_mon=12, tm_mday=8, tm_hour=11, tm_min=40, tm_sec=17, tm_wday=3, tm_yday=342, tm_isdst=0)
print(type(time_local))
# <class 'time.struct_time'>
'''
localtime返回的是一个time时间对象
各参数简介:
tm_year 四位年数
tm_mon 月 1-12
tm_mday 日 1-31
tm_hour 0-23
t_min 0-59
tm_sec 秒 0-61 (闰月问题)
tm_wday 一周中的第几天 0-6(0是周一)
tm_yday 一年的第几日 1-366(儒略历)
tm_isdst 夏令时 -1,0,1是否是夏时令
'''
# 不传时间戳参数 timestamp可不传(不传的时候默认使用当前时间戳)
print(time.localtime())
# time.struct_time(tm_year=2022, tm_mon=12, tm_mday=8, tm_hour=11, tm_min=41, tm_sec=22, tm_wday=3, tm_yday=342, tm_isdst=0) # 倒退100000秒
re = time.time() - 100000
print(time.localtime(re))
# time.struct_time(tm_year=2022, tm_mon=12, tm_mday=7, tm_hour=7, tm_min=58, tm_sec=53, tm_wday=2, tm_yday=341, tm_isdst=0) # 若想让时间戳单位和其它语言单位一致变成毫秒,直接乘1000即可
re2 = time.time() * 1000
print(re2) # 1670471309818.359
# 暂停函数 sleep(sec)  让程序暂停sec秒数
import time
print(time.time()) # 1670471809.716068
time.sleep(5)
print(time.time()) # 1670471814.7167113 (可以看到相差了五秒)
# time.strftime(format, t) 将时间对象t转化为所要的格式
import time
# 获取当前时间的标准格式
re = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
print(re) # 2022-12-08 12:04:26
print(type(re)) # <class 'str'> # 同样有反向操作time.strptime(time_str, format)
re2 = time.strptime("2022-12-7 12:30", "%Y-%m-%d %H:%M")
print(re2)
# time.struct_time(tm_year=2022, tm_mon=12, tm_mday=7, tm_hour=12, tm_min=30, tm_sec=0, tm_wday=2, tm_yday=341, tm_isdst=-1)
print(type(re2))
# <class 'time.struct_time'>
# 补充下datetime生成时间戳的方法
# datetime.datetime.timestamp(datetime.datetime.now())
# 相当于将时间对象转化为时间戳格式
import datetime
print(datetime.datetime.timestamp(datetime.datetime.now())) # 1670472569.847376 # 反向操作
print(datetime.datetime.fromtimestamp(1670472569.847376)) # 2022-12-08 12:09:29.847376
print(type(datetime.datetime.fromtimestamp(1670472569.847376))) # <class 'datetime.datetime'>

3.os包

  包含普遍的系统操作,比如路径获取、文件创建删除等;

  

'''
os.getcwd() 获取当前路径 返回字符串
os.listdir(path) 获取指定path路径下的文件或文件夹,返回一个列表
os.makedirs(path) 创建多级文件夹
'''
import os
current_path = os.getcwd()
print(current_path) # D:\python_exercise # os.makedirs(f'{current_path}\\test1\\test2')
# 此时当前路径下test1和test2文件夹均不存在,会同时被创建
# 如果test2存在时,会提示报错test2已存在
os.makedirs('test3') # 若只传递文件名,会自动在当前脚本所在目录下创建文件夹 print(os.listdir(current_path))
'''
['.idea', 'main.py', 'test', 'test.py', 'test1', 'test2.py', 'test5.py', 'test6.py', 'test7.py', 'test_calss.py',
'test_class2.py', 'test_class3.py', 'try_except.py', 'tt.py']
文件、文件夹都会被打印出来
'''
'''
os.removedirs(path) 删除空文件夹
os.rename(old_name, new_name) 给文件或文件夹重命名
os.rmdir(path) 删除空文件夹
'''
import os
# os.removedirs('D:\python_exercise\\test1')
'''
OSError: [WinError 145] 目录不是空的。: 'D:\\python_exercise\\test1'
此时test1下还有test2文件夹,删除时会报错
'''
# os.removedirs('D:\python_exercise\\test1\\test2')
'''
此时test2为空文件夹,test2可以正常被删除
若test1中只有空文件夹test2,操作后test1、test2均会被删除
'''
# 同样场景test1中只有空文件夹test2
# os.rmdir('D:\python_exercise\\test1\\test2') # 操作后test1、test2也均会被删除 # 当我们就是要删除文件夹下所有文件时,可以利用shutil库
import shutil
# shutil.rmtree('D:\python_exercise\\test1\\test2') # test2及test2下的所有文件、文件夹均会被删除 # rename重命名
os.rename('D:\python_exercise\\test1', 'D:\python_exercise\\test11111')
'''
os.path.exists(path) 判断文件或路径是否存在
os.path.isdir(path) 判断是否是文件夹
os.path.isabs(path) 判断是否是绝对路径
os.path.isfile(path) 判断是否是文件
os.path.join(path, path*) 路径字符串合并
os.path.split(path) 以层路径为基准切割
'''
import os
# 判断当前路径下是否存在test文件夹
re = os.path.exists('test')
print(re) # True
# 判断当前路径下是否存在test.py文件
re = os.path.exists('test.py')
print(re) # True
# 按绝对路径填写
re = os.path.exists("D:\python_exercise\\test.py")
print(re) # True re = os.path.isdir('test')
print(re) # True
re = os.path.isdir('test.py')
print(re) # False re = os.path.isabs('test')
print(re) # False
re = os.path.isabs('D:\python_exercise\\test.py')
print(re) # True re = os.path.isfile('test')
print(re) # False
re = os.path.isfile('test.py')
print(re) # True re = os.path.join('D:\python_exercise', 'test.py')
print(re) # D:\python_exercise\test.py re = os.path.split('D:\python_exercise\\test.py')
print(re) # ('D:\\python_exercise', 'test.py')

4.sys包

  也是一个系统相关操作的模块;

'''
sys.modules py启动时自动加载的模块字典
'''
import sys
print(sys.modules)
'''
{'sys': <module 'sys' (built-in)>, 'builtins': <module 'builtins' (built-in)>,
'_frozen_importlib': <module '_frozen_importlib' (frozen)>, '_imp': <module '_imp' (built-in)>,
'_thread': <module '_thread' (built-in)>, '_warnings': <module '_warnings' (built-in)>,
'_weakref': <module '_weakref' (built-in)>, '_io': <module '_io' (built-in)>,
'marshal': <module 'marshal' (built-in)>, 'nt': <module 'nt' (built-in)>, 'winreg': <module 'winreg' (built-in)>,
'_frozen_importlib_external': <module '_frozen_importlib_external' (frozen)>, 'time': <module 'time' (built-in)>,
'zipimport': <module 'zipimport' (frozen)>, '_codecs': <module '_codecs' (built-in)>,
'codecs': <module 'codecs' from 'D:\\python3.10.5\\lib\\codecs.py'>,
'encodings.aliases': <module 'encodings.aliases' from 'D:\\python3.10.5\\lib\\encodings\\aliases.py'>,
'encodings': <module 'encodings' from 'D:\\python3.10.5\\lib\\encodings\\__init__.py'>,
'encodings.utf_8': <module 'encodings.utf_8' from 'D:\\python3.10.5\\lib\\encodings\\utf_8.py'>,
'_signal': <module '_signal' (built-in)>, '_abc': <module '_abc' (built-in)>,
'abc': <module 'abc' from 'D:\\python3.10.5\\lib\\abc.py'>, 'io': <module 'io' from 'D:\\python3.10.5\\lib\\io.py'>,
'__main__': <module '__main__' from 'D:\\python_exercise\\main.py'>, '_stat': <module '_stat' (built-in)>,
'stat': <module 'stat' from 'D:\\python3.10.5\\lib\\stat.py'>,
'_collections_abc': <module '_collections_abc' from 'D:\\python3.10.5\\lib\\_collections_abc.py'>,
'genericpath': <module 'genericpath' from 'D:\\python3.10.5\\lib\\genericpath.py'>,
'ntpath': <module 'ntpath' from 'D:\\python3.10.5\\lib\\ntpath.py'>,
'os.path': <module 'ntpath' from 'D:\\python3.10.5\\lib\\ntpath.py'>,
'os': <module 'os' from 'D:\\python3.10.5\\lib\\os.py'>, '_sitebuiltins': <module '_sitebuiltins'
from 'D:\\python3.10.5\\lib\\_sitebuiltins.py'>, '_codecs_cn': <module '_codecs_cn' (built-in)>,
'_multibytecodec': <module '_multibytecodec' (built-in)>, 'encodings.gbk': <module 'encodings.gbk'
from 'D:\\python3.10.5\\lib\\encodings\\gbk.py'>, 'site': <module 'site' from 'D:\\python3.10.5\\lib\\site.py'>,
'__future__': <module '__future__' from 'D:\\python3.10.5\\lib\\__future__.py'>,
'itertools': <module 'itertools' (built-in)>, 'keyword': <module 'keyword' from 'D:\\python3.10.5\\lib\\keyword.py'>,
'_operator': <module '_operator' (built-in)>, 'operator': <module 'operator' from 'D:\\python3.10.5\\lib\\operator.py'>,
'reprlib': <module 'reprlib' from 'D:\\python3.10.5\\lib\\reprlib.py'>,
'_collections': <module '_collections' (built-in)>, 'collections': <module 'collections'
from 'D:\\python3.10.5\\lib\\collections\\__init__.py'>, 'types': <module 'types' from 'D:\\python3.10.5\\lib\\types.py'>,
'_functools': <module '_functools' (built-in)>, 'functools': <module 'functools' from 'D:\\python3.10.5\\lib\\functools.py'>,
'importlib._bootstrap': <module '_frozen_importlib' (frozen)>, 'importlib._bootstrap_external':
<module '_frozen_importlib_external' (frozen)>, 'warnings': <module 'warnings' from 'D:\\python3.10.5\\lib\\warnings.py'>,
'importlib': <module 'importlib' from 'D:\\python3.10.5\\lib\\importlib\\__init__.py'>, 'importlib._abc':
<module 'importlib._abc' from 'D:\\python3.10.5\\lib\\importlib\\_abc.py'>, 'contextlib': <module 'contextlib'
from 'D:\\python3.10.5\\lib\\contextlib.py'>, 'importlib.util': <module 'importlib.util'
from 'D:\\python3.10.5\\lib\\importlib\\util.py'>, '_struct': <module '_struct' (built-in)>, 'struct': <module 'struct'
from 'D:\\python3.10.5\\lib\\struct.py'>, 'six': <module 'six' from 'D:\\python3.10.5\\lib\\site-packages\\six.py'>}
''' '''
sys.path
返回当前py的环境路径列表
比如当前工作路径、python site-packages三方安装包路径等
'''
print(sys.path)
'''
['D:\\python_exercise', 'D:\\python_exercise', 'D:\\python3.10.5\\python310.zip', 'D:\\python3.10.5\\DLLs',
'D:\\python3.10.5\\lib', 'D:\\python3.10.5', 'D:\\python3.10.5\\lib\\site-packages']
''' '''
sys.exit()
退出程序
'''
# sys.exit(0) # Process finished with exit code 0
# print('22') # exit后面的内容不再执行
# sys.exit(1) # Process finished with exit code 1 '''
sys.getdefaultencoding()
获取当前编码格式
'''
re = sys.getdefaultencoding()
print(re) # utf-8
print(type(re)) # <class 'str'> '''
sys.platform
返回电脑的系统
'''
re = sys.platform
print(re) # win32
print(type(re)) # <class 'str'> '''
sys.version
获取py版本
'''
re = sys.version
print(re) # 3.10.5 (tags/v3.10.5:f377153, Jun 6 2022, 16:14:13) [MSC v.1929 64 bit (AMD64)]
print(type(re)) # <class 'str'>

  sys.argv
    获取以python xxx.py形式在终端命令行中执行时传入的参数,结果存储于列表;
    列表的第0个元素是文件本身,后面的参数从1开始以此类推;

# python_exercise/main.py
args = sys.argv
print(args)

    在终端执行main.py文件,此时就可以拿到执行时传入的参数了,工作中很常用;

    

总结

  

python基础-常用内置包的更多相关文章

  1. python字符串常用内置方法

    python字符串常用内置方法 定义: 字符串是一个有序的字符的集合,用与存储和表示基本的文本信息. python中引号中间包含的就是字符串. # s1='hello world' # s2=&quo ...

  2. 十六. Python基础(16)--内置函数-2

    十六. Python基础(16)--内置函数-2 1 ● 内置函数format() Convert a value to a "formatted" representation. ...

  3. 十五. Python基础(15)--内置函数-1

    十五. Python基础(15)--内置函数-1 1 ● eval(), exec(), compile() 执行字符串数据类型的python代码 检测#import os 'import' in c ...

  4. Python的常用内置函数介绍

    Python的常用内置函数介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.取绝对值(abs) #!/usr/bin/env python #_*_coding:utf-8_ ...

  5. python基础(内置函数+文件操作+lambda)

    一.内置函数 注:查看详细猛击这里 常用内置函数代码说明: # abs绝对值 # i = abs(-123) # print(i) #返回123,绝对值 # #all,循环参数,如果每个元素为真,那么 ...

  6. python中常用内置函数和关键词

    Python 常用内置函数如下: Python 解释器内置了很多函数和类型,您可以在任何时候使用它们.以下按字母表顺序列出它们. 1. abs()函数 返回数字的绝对值. print( abs(-45 ...

  7. 第六篇:python基础_6 内置函数与常用模块(一)

    本篇内容 内置函数 匿名函数 re模块 time模块 random模块 os模块 sys模块 json与pickle模块 shelve模块 一. 内置函数 1.定义 内置函数又被称为工厂函数. 2.常 ...

  8. python之常用内置函数

    python内置函数,可以通过python的帮助文档 Build-in Functions,在终端交互下可以通过命令查看 >>> dir("__builtins__&quo ...

  9. Python基础:内置常量

    本文根据Python 3.6.5的官文Built-in Constants编写,官文比较短,大家可以直接看原文. 有一些存在于 内置名称空间(the built-in namespace) 的常量,如 ...

  10. python基础(15):内置函数(一)

    1. 内置函数 什么是内置函数? 就是python给你提供的,拿来直接⽤的函数,比如print,input等等,截⽌到python版本3.6.2 python⼀共提供了68个内置函数.他们就是pyth ...

随机推荐

  1. python csv写入多列

    import csv import os def main(): current_dir = os.path.abspath('.') file_name = os.path.join(current ...

  2. 2016 ZCTF note3:一种新解法

    2016 ZCTF note3:一种新解法 最近在学习unlink做到了这道题,网上有两种做法:一种是利用edit功能读入id时整数溢出使索引为-1,一种是设置块大小为0使得写入时利用整数溢出漏洞可以 ...

  3. Redis核心设计原理(深入底层C源码)

    Redis 基本特性 1. 非关系型的键值对数据库,可以根据键以O(1) 的时间复杂度取出或插入关联值 2. Redis 的数据是存在内存中的 3. 键值对中键的类型可以是字符串,整型,浮点型等,且键 ...

  4. 220726 T1 树染色问题 (树的直径)

    题目描述 高钧在校园中漫步时,经过了一棵树.这时,几个同学突然冒出来控制住了他. 这棵树有 nn 个节点, 每个节点有黑白两种颜色, 为了更好的 alb , 需要把所有节点染成同一种颜色. 为了更好的 ...

  5. MYSQL-->InnoDB引擎底层原理

    逻辑存储结构 逻辑存储结构图 表空间 表空间文件在Linux下存放在 /var/lib/mysql文件中的 xxx.ibd 文件就是表空间文件 表空间文件用来存储,记录,索引等数据. 段 段分为,数据 ...

  6. linux开放端口并测试

    开放端口操作 开放端口 先开启防火墙(才能用开启端口的命令) systemctl start firewalld.service 开放端口 firewall-cmd --zone=public --a ...

  7. 2022-08-14-esp32把玩记-③_轻轻松松显示个二维码(esp32+ssd1306显示图片)

    layout: post cid: 9 title: esp32把玩记-③ 轻轻松松显示个二维码(esp32+ssd1306显示图片) slug: 9 date: 2022/08/14 09:22:0 ...

  8. Windows开启关闭测试模式的方法(含开启测试模式失败的解决办法)

    前言:           内含:Windows开启关闭测试模式的方法.开启测试模式失败的解决办法.win10进入bios的方式.BitLocker恢复方式.           对于互联网从业者来说 ...

  9. 第一个java程序进行总结

    1.java程序编写-编译-运行的过程 编写:我们将编写的java代码保存在以".java"结尾的源文件中 编译:使用javac.exe命令编译我们的java源文件.格式:java ...

  10. 13.内建函数eval()

      eval函数 eval()函数十分强大 -- 将字符串当成有效的表达式来求值并返回计算结果 例如下图,eval会将字符串的引号去掉并且计算返回结果