Python中常见的模块——OS 和 time 模块

Posted 神的孩子都在歌唱

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python中常见的模块——OS 和 time 模块相关的知识,希望对你有一定的参考价值。

前言:

作者:神的孩子在歌唱
这是我听老师讲课做的笔记
大家好,我叫陈运智,大家可以叫我小智,加好友请看主页

一. 模块介绍

  1. 简单理解:相当于一个工具包,就是封装了一堆函数py文件,如果使用到某个函数的时候调用这个包就可以了,不用自己在编写一堆代码

  2. 导入方法
    (1)import 模块
    (2)导入模块中的函数 from 模块 import 函数

  3. 注意:import导入的时候模块是要在当前目录的

  4. 取别名as:模块名过长可以通过as取别名

二. 常见模块

2.1 os模块

  1. 作用:常用于对文件进行重命名、删除、获取路径等一些操作

比如我在d盘创建了test文件夹

在这里插入图片描述
代码练习:

import  os
import shutil
#os.rename('text_备份2.txt','text_重命名.txt')#重命名文件
#os.remove('文件名')#删除文件,如果不存在就会报错
#os.mkdir('textCJ')#创建文件夹
#os.rmdir('textCJ')#删除文件夹,只能删除空目录
#os.mkdir('d:/python编程')#在D盘下创建文件夹,还可以一级级创建/,不能连续创建
#os.rmdir('d:/python编程')
#os.makedirs('d:/p/d/f')#多级文件创建
#shutil.rmtree('d:p/d/f')#删除非空目录文件shutil

print('当前路径:',os.getcwd())#获取当前目录
#print(os.path)
#os.path.join(os.path.join(os.getcwd(),'第十一天'))#路径拼接

#获取python中的目录列表,老版本
#print(os.listdir('d:/'))
print('*'*15)
#新版本
with os.scandir('D:/test/') as f:#scandir和with一起使用,上下文管理器会在迭代器遍历完成后自动释放资源
    for item in f:
        print(item.name)
print('*'*15)
f='D:/test/'
for item in os.listdir(f):
    if os.path.isfile(os.path.join(f,item)):#判断文件,.isdir是判断目录
        print('只输出文件:',item)

在这里插入图片描述
2. 基本操作命令

方法解释
os.getcwd()获取当前工作目录,即当前python脚本工作的目录路径
os.chdir(“dirname”)改变当前脚本工作目录;相当于shell下cd
os.curdir返回当前目录: (’.’)
os.pardir获取当前目录的父目录字符串名:(’…’)
os.makedirs(‘dir1/dir2’)可生成多层递归目录
os.removedirs(‘dirname1’)若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推
os.mkdir(‘dirname’)生成单级目录;相当于shell中mkdir dirname
os.rmdir(‘dirname’)删除单级空目录,若目录不为空则无法删除,报错
os.listdir(‘dirname’)列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印
os.remove()删除一个文件
os.rename(“oldname”,“new”)重命名文件/目录
os.stat(‘path/filename’)获取文件/目录信息
os.sep操作系统特定的路径分隔符,win下为"\\",Linux下为"/"
os.linesep当前平台使用的行终止符,win下为"\\t\\n",Linux下为"\\n"
os.pathsep用于分割文件路径的字符串
os.name字符串指示当前使用平台。win->‘nt’; Linux->‘posix’
os.system(“bash command”)运行shell命令,直接显示
os.environ获取系统环境变量
os.path.abspath(path)返回path规范化的绝对路径
os.path.split(path)将path分割成目录和文件名二元组返回
os.path.dirname(path)返回path的目录。其实就是os.path.split(path)的第一个元素
os.path.basename(path)返回path最后的文件名。如何path以/或\\结尾,那么就会返回空值。即os.path.split(path)的第二个元素
os.path.exists(path)如果path存在,返回True;如果path不存在,返回False
os.path.isabs(path)如果path是绝对路径,返回True
os.path.isfile(path)如果path是一个存在的文件,返回True。否则返回False
os.path.isdir(path)如果path是一个存在的目录,则返回True。否则返回False
os.path.join(path1[, path2[, …]])将多个路径组合后返回,第一个绝对路径之前的参数将被忽略
os.path.getatime(path)返回path所指向的文件或者目录的最后存取时间
os.path.getmtime(path)返回path所指向的文件或者目录的最后修改时间

2.2 time、datetime模块

  1. time模块
import time 
time.sleep(6) # 程序暂停6s
print(time.time())#获取时间戳
print(time.localtime())#获取本地时间
print(time.strftime("%Y-%m-%d %H:%M:%S 星期%w",time.localtime()))#格式化输出

输出:
在这里插入图片描述
时间格式化符号

  • %b 本地简化的月份名称
  • %B 本地完整的月份名称
  • %c 本地相应的日期表示和时间表示
  • %j 年内的一天(001-366)
  • %p 本地A.M.或P.M.的等价符
  • %U 一年中的星期数(00-53)星期天为星期的开始
  • %w 星期(0-6),星期天为星期的开始
  • %W 一年中的星期数(00-53)星期一为星期的开始
  • %x 本地相应的日期表示
  • %X 本地相应的时间表示
  • %Z 当前时区的名称
  • %% %号本身
  1. datatime模块

主要用于时间计算

datetime.date.fromtimestamp(time.time())#装换时间戳
#输出:2021-06-03

加减时间计算

import datetime
print(datetime.datetime.now())
#当前时间加上1天2小时30分.
print(datetime.datetime.now() + datetime.timedelta(days=1,hours=2,minutes=30))

输出:

2021-06-05 10:32:40.462593
2021-06-06 13:02:40.462593

本人博客:https://blog.csdn.net/weixin_46654114
转载说明:跟我说明,务必注明来源,附带本人博客连接。

请给我点个赞鼓励我吧
在这里插入图片描述

以上是关于Python中常见的模块——OS 和 time 模块的主要内容,如果未能解决你的问题,请参考以下文章

python中os模块和sys模块的常见用法

python-模块 time, os, sys

Python模块之time和os模块的使用常用非全量

测开4 - Python(os 模块和 time 模块)

python中re time os sys模块

Python之OS模块