递归&时间模块&os模块

  1. 递归

    • 递归调用

      • 一个函数,调用了自身,称为递归调用
      • 递归函数:一个会调用自身的函数称为递归函数
      • 凡是循环能干的事,递归都能干
    • 方式:
      • 写出临界条件
      • 找这一次和上一次的关系
      • 假设当前函数已经能用,调用自身计算上一次的结果,再求出本次的结果
  2. 栈和队列
      • 存取数据的特点: 先进后出
      • 模拟栈结构
        • stack = []
      • 压栈(向栈里存数据)
        • stack.append("A")
        • stack.append("B")
      • 出栈(向栈里取数据)
        • stack.pop()
    • 队列
      • 存取数据的特点: 先进先出
      • 导入库 import collections
      • queue = collections.deque()
        • 创建一个队列
      • 进队(存数据)
        • queue.append("A")
        • queue.append("B")
      • 出队(取数据)
        • resl = queue.popleft()
    • 递归目录遍历 见代码
    • 栈模拟递归遍历目录(深度遍历) 见代码
    • 队列模拟递归遍历目录(广度遍历) 见代码
    • 时间相关模块
      • 引入 import time 模块
      • time
        • UTC(世界协调时间): 格林尼治天文时间,世界标准时间,再中国来说是UTC+8
        • DST(夏令时):是一种节约能源而人为规定时间制度,在夏季调快1个小时
        • 时间的表示形式
          • 时间戳

            • 以整型或浮点型表示时间的一个以秒为单位的时间间隔。这个时间间隔的基础值是从1970年1月1日零晨开始算起
          • 元组
            • 一种Python的数据结构表示,这个元组有9个整型内容
            • year
            • month
            • day
            • hours
            • minutes
            • seconds
            • weekdays
            • Julia day
            • flag (-1 或 1 或0)
          • 格式化字符串
            • %a 本地(locale) 简化星期名称
            • A 本地完整星期名称
            • %b 本地简化月份名称
            • %B 本地完整月份名称
            • %c 本地相应的日期和时间表示
            • %d 一个月中的第几天(01~31)
            • %H 一天中的第几个小时(24小时制,00~23)
            • %I 第几个小时(12小时制,01~12)
            • %j 一年中的第几天 (001~366)
            • %m 月份(01~12)
            • %M 分钟数(00~59)
            • %p 本地am或者pm的相应符
            • %S 秒(01~61)
            • %U 一年中的星期数。(00~53 星期天是一个星期的开始)第一个星期天之前的所有天数都放在第0周
            • %w 和%U基本相同,不同的是%W以星期一为一个星期的开始
            • %W 和%U 基本相同,不同的是%W以星期一为一个星期的开始
            • %x 本地相应日期
            • %X 本地相应时间
            • %y 去掉世纪的年份(00~99)
            • %Y 完整的年份
            • %Z 时区的名字(如果不存在为空字符)
            • %% ‘%‘字符
        • time时间模块的用法
          • c=time.time() 返回当前时间的时间戳,浮点数形式,不需要参数
          • 将时间戳转为UTC时间元组
            • t = time.gmtime(c)
          • 将时间戳转为本地时间元组
            • b = time.localtime(c)
          • 将本地时间元组转成时间戳
            • m = time.mktime(b)
          • 将时间元组转成字符串
            • s=time.asctime(b)
            • 值为 Thu Sep 26 16:31:19 2019
          • 将时间戳转为字符串 相当于 time.asctime(time.localtime(time.time()))
            • p=time.ctime(c)
            • 值为 Thu Sep 26 16:31:19 2019
          • 将时间元组转换成给定格式的字符串,参数2为时间元组,如果没有参数2,默认转当前时间
            • q =time.strftime("%Y-%m-%d %H:%M:%S",b)
            • 值为 2019-09-26 16:31:19
          • 将时间字符串转为时间元组
            • w = time.strptime(q, "%Y-%m-%d %X")
          • 延迟一个时间,整型或者浮点型
            • time.sleep(4)
          • 返回当前程序的cup时间
            • Unix始终返回全部的运行时间
            • windows 从第二次开始,都是以第一个调用此函数的开始时间戳作为基数
            • time.clock() 现在版本不支持
            • time.perf_counter() 现在版本支持这个
      • datetime模块
        • 概述

          • datetime 比time高级了不少,可以理解为datetime基于time进行了封装,提供了各位使用的函数,datetime模块的接口更直观,更容易调用
        • 模块中的类:
          • datetime

            • 同时有时间和日期
          • timedelta
            • 主要用于计算时间的跨度
          • tzinfo
            • 时区相关
          • time
            • 只关注时间
          • date
            • 只关注日期
        • datetime时间模块的用法
          • 获取当前时间

            • d1 = datetime.datetime.now()
            • print(d1)
          • 获取指定时间
            • d2 = datetime.datetime(1999,10,1,10,28,25,123456)
            • print(d2)
          • 将时间转为字符串
            • d3 = d1.strftime("%y-%m-%d %X")
            • print(d3)
          • 将格式化字符串转为datetime对象
            • 注意:转换的格式要与字符串一致
            • d4 = datetime.datetime.strptime(d3,"%y-%m-%d %X")
            • print(d4)
          • datetime可做数学运算
            • d5 = datetime.datetime(1999,10,1,10,28,25,123456)
            • d6= datetime.datetime.now()
            • d7 = d6-d5
            • print(d7)
            • 取到间隔的天数
              • print(d7.days)
            • 取到间隔天数除外的秒数
              • print(d7.seconds)
      • calendar模块(日历模块)
        • 导入模块 import calendar
        • calendar模块的用法
          • 返回指定某年某月的日历

            • s1 = calendar.month(2017,7)
            • print(s1)
          • 返回指定年的日历
            • s2 = calendar.calendar(2017)
            • print(s2)
          • 判断是否是闰年, 是闰年返回True 否则返回False
            • s3 = calendar.isleap(2000)
            • print(s3)
          • 返回某个月的weekday的第一天和这个月的所有的天数
            • s4 = calendar.monthrange(2017,7)
            • print(s4)
          • 返回某个月以每一周为元素的列表
            • s5 = calendar.monthcalendar(2017,7)
            • print(s5)

os模块

  • os: 包含了普遍的操作系统的功能
  • 导入 import os
  • os.name
    • 获取操作系统类型 nt-> windows posix->Linux、Unix或Mac OS X
  • os.uname()
    • 打印操作系统详细的信息(windows 不支持)
  • os.environ()
    • 获取操作系统中的环境变量
    • os.environ.get("APPDATA") 获取指定环境变量
  • os.curdir
    • 获取当前目录 ./a/
  • os.getcwd()
    • 获取当前工作目录,即当前python脚本所在的目录
  • os.listdir(path)
    • path为目录
    • 以列表的形式返回指定目录下的所有的文件
  • os.mkdir("sunck")
    • 在当前目录下创建新目录
    • ()里面也可以写绝对路径
  • os.rmdir("sunck")
    • 删除目录
    • ()里面也可以写绝对路径
  • os.stat(path)
    • path为路径
    • 获取文件属性
  • os.rename(old,new)
    • 重命名
    • old为旧目录名字,new为新目录名字
  • os.remove(path)
    • path为路径
    • 删除普通文件
  • os.system(“notepad”)
    • 运行shell命令(打开记事本)
  • os.system("write")
    • 打开写字板
  • os.system("mspaint")
    • 打开画板
  • os.system("msconfig")
    • 打开系统设置
  • os.system("shutdown -s -t 500")
    • 关机
  • os.system("shutdown -a")
    • 取消自动关机
  • os.system("taskkill /f /im notepad.exe")
    • 关闭记事本
    • 想关闭哪个 改notepad就行
  • 有些方法存在os模块里,还有些存在于os.path里
    • os.path.abspath(path)

      • 查看当前的绝对路径
      • . 为当前路径
      • path为文件名或者目录名
    • os.path.join(p1,p2)
      • 拼接路径
      • 注意:参数2里开始不要有斜杠
      • p1,p2为路径
    • os.path.split(path2)
      • 拆分路径
      • path2 为路径
      • os.path.splitext(path2)
        • 获取扩展名
    • os.path.isdir(path2)
      • 判断是否是目录 是目录返回True 不是目录返回False
    • os.path.isfile(path2)
      • 判断文件是否存在
    • os.path.exists(path2)
      • 判断目录是否存在
    • os.path.getsize(path2)
      • 获取文件大小(字节)
    • os.path.dirname(path2)
      • 获取文件的目录
    • os.path.basename(path2)
      • 获取文件的名

原文地址:https://www.cnblogs.com/fengzi759/p/12001168.html

时间: 2024-07-31 15:14:41

递归&时间模块&os模块的相关文章

random模块 os模块

# random# import random# random.random() # 大于0且小于1之间的小数# random.randint() # 大于等于1且小于等于3之间的整数# random.randrange() # 大于等于1且小于3之间的整数# random.choice([1,'23','[45]']) # 只取一个# random.sample([1,'23','[45]'],2) # 取列表中任意两个的组合# random.uniform(1,3) # 大于1小于3的小数#

sys模块\os模块

sys模块是和python解释器打交道的 sys.path sys.modules sys.exit sys.argv os模块 os.getwcd() 在哪个地方执行命令,getwcd的结果就是哪个路径 os.curdir:返回'.' os.pardir:返回'..' os.mkdir('dir'):创造一个文件夹 os.mkdir('dir1\dir2'):创建dir1下的dir2文件 os.makedirs('dir1\dir2\dir3',exit_ok=True):可创建多个文件夹 o

常用模块 os模块 序列化模块

1 os.path.abspath(path) 返回这个文件的绝对路径 2 os.path.split(path) 把一个路径分成两段 第二段是一个文件/文件夹 3 os.path.dirname(path) 返回path的目录 4 os.path.basename(path) 返回path 最后的文件名 5 os.path.exists(path)如果路径存在 那么返回True ,不存在 返回false 6 os.path.isabs(path)判断是否是绝对路径 7 os.path.isfi

Python 常用模块(1) -- collections模块,time模块,random模块,os模块,sys模块

主要内容: 一. 模块的简单认识 二. collections模块 三. time时间模块 四. random模块 五. os模块 六. sys模块 一. 模块的简单认识 模块: 模块就是把装有特定功能的代码进行归类的结果引入模块的方式: (1) import 模块 (2) from 位置 import 模块 二. collections模块 collections模块主要封装了一些关于集合类的相关操作. 如我们学过的iterable,iterator等等.除此以外, collections还提

python模块-os模块和sys模块

os模块 os.getcwd()  获取当前的工作目录 os.chdir('绝对路径/相对于当前工作目录的路径')  改变工作目录,相当于shell的cd命令,例如Windows平台下os.chdir('D:\PythonScripts\\test\c'),项目那一层的目录必须用双斜线分割,其他层级的双斜线和单斜线都可,在linux和unix平台下用/分割 os.curdir  返回当前路径. os.pardir  返回当前路径的上一层路径,即.. os.mkdir('dir')  生成单级目录

python模块: OS模块

#!/bin/env python#!-*- coding:UTF-8 -*- import osprint os.name         #输出主机平台print os.getcwd()     #输出当前目录print os.listdir(os.getcwd())       #输出当前目录的文件(横向) for i in os.listdir(os.getcwd()):   #输出当前目录的文件(纵向)    print i os.makedirs("/tmp/tong/123&quo

day5模块学习 -- os模块学习

python基础之模块之os模块 os模块 os模块的作用: os,语义为操作系统,所以肯定就是操作系统相关的功能了,可以处理文件和目录这些我们日常手动需要做的操作,就比如说:显示当前目录下所有文件/删除某个文件/获取文件大小-- 另外,os模块不受平台限制,也就是说:当我们要在linux中显示当前命令时就要用到pwd命令,而Windows中cmd命令行下就要用到这个,额...我擦,我还真不知道,(甭管怎么着,肯定不是pwd),这时候我们使用python中os模块的os.path.abspath

python os模块文件相关

使用前 import os导入模块 os模块: os.sep     可以取代操作系统特定的路径分割符 os.linesep  字符串给出当前平台使用的行终止符.例如,Windows使用'\r\n',Linux使用'\n' 而Mac使用'\r'. os.name         字符串指示你正在使用的平台.比如对于Windows,它是'nt',而对于Linux/Unix用户,它是'posix' os.getcwd()   函数得到当前工作目录, os.getenv()和os.putenv()  

python模块之os模块

os模块 os模块是与操作系统交互的一个接口 os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 os.chdir("dirname") 改变当前脚本工作目录:相当于shell下cd os.curdir 返回当前目录: ('.') os.pardir 获取当前目录的父目录字符串名:('..') os.makedirs('dirname1/dirname2') 可生成多层递归目录 os.removedirs('dirname1') 若目录为空,则删除,并递归到