Python常用包-OS、shutil、random模块

datetime.datetime

-模块提供比较好用的时间而已
-类定义

	class datetime.datetime(year, month, day[, hour
      		[, minute
   		   	[, second
      		[, microsecond
      		[, tzinfo]]]]])

#The year, month and day arguments are required.
MINYEAR <= year <= MAXYEAR
1 <= month <= 12
1 <= day <= n
0 <= hour < 24
0 <= minute < 60
0 <= second < 60
0 <= microsecond < 10**

-类方法datetime.today(): 返回当前本地datetime.随着 tzinfo None. datetime.fromtimestamp(time.time()). datetime.now([tz]): 返回当前本地日期和时间, 如果可选参数tz为None或没有详细说明,这个方法会像 today(). datetime.utcnow(): 返回当前的UTC日期和时间, 如果tzinfo None ,那么与now()类似. datetime.fromtimestamp(timestamp[, tz]): 根据时间戳返回本地的日期和时间.tz指定时区. datetime.utcfromtimestamp(timestamp): 根据时间戳返回 UTC datetime. datetime.fromordinal(ordinal): 根据Gregorian ordinal 返回datetime. datetime.combine(date, time): 根据date和time返回一个新的datetime. datetime.strptime(date_string, format): 根据date_string和format返回一个datetime. -实例方法 datetime.date(): 返回相同年月日的date对象. datetime.time(): 返回相同时分秒微秒的time对象. datetime.replace(kw): kw in [year, month, day, hour, minute, second, microsecond, tzinfo], 与date类似. -类属性 datetime.min: datetime(MINYEAR, 1, 1). datetime.max: datetime(MAXYEAR, 12, 31, 23, 59, 59, 999999). -实例属性(read-only) datetime.year: 1 至 9999 datetime.month: 1 至 12 datetime.day: 1 至 n datetime.hour: In range(24). 0 至 23 datetime.minute: In range(60). datetime.second: In range(60). datetime.microsecond: In range(1000000).

OS-操作系统相关

  • 跟操作系统相关,主要是文件操作
  • 与系统相关的操作,主要包含在三个模块里
    • os,操作系统目录相关
    • os.path,系统路径相关
    • shutil,高级文件操作,目录树的操作,文件赋值,删除,移动
  • 路径:
    • 绝对路径: 总是从根目录上靠开始
    • 相对路径: 基本以当前环境为开始的一个相对的地方

os模块

  • getcwd() 获取当前工作目录

  • 格式: os.getcwd()

  • 返回值:当前工作目录的字符串

  • 当前工作目录就是程序在进行文件相关操作,默认查找文件的目录

      import os  #使用前要导入
      mydir = os.getcwd()
      print(mydir)
    
  • chdir() 改变当前的工作目录(change directory)

  • 格式:os.chdir(路径)

  • 返回值:无

      os.chdir('/home/tlxy')
      mydir = os.getcwd()
              print(mydir)
    
  • listdir() 获取一个目录中所有子目录和文件的名称列表

  • 格式:os.listdir(路径)

  • 返回值:所有子目录和文件名称的列表

      ld = os.listdir()
      print(ld)
    
  • makedirs() 递归创建文件夹

  • 格式:os.makedirs(递归路径)

  • 返回值:无

  • 递归路径:多个文件夹层层包含的路径就是递归路径 例如a/b/c…

      rst = os.makedirs("dana")
      print(rst)
    
  • system() 运行系统shell命令

  • 格式:os.system(系统命令)

  • 返回值:打开一个shell或者终端界面

  • 一般推荐使用subprocess代替

      rst = os.system("ls")
      #ls是列出当前文件和文件夹的系统命令
      print(rst)
    
  • getenv() 获取指定的系统环境变量值

  • 相应的还有putenv

  • 格式:os.getenv(‘环境变量名’)

  • 返回值:指定环境变量名对应的值

      rst = os.getenv("PATH")
      print(rst)
    
  • exit() 退出当前程序

  • 格式:exit()

  • 返回值:无

值部分

  • os.curdir: curretn dir,当前目录
  • os.pardir: parent dir, 父亲目录
  • os.sep: 当前系统的路径分隔符
    • windows: “”
    • linux: “/”
  • os.linesep: 当前系统的换行符号
    • windows: “\r\n”
    • unix,linux,macos: "\n
  • os.name: 当前系统名称
    • windows: nt
    • mac,unix,linux: posix

os.path 模块,根路径相关的模块

	import  os.path  as  op
  • abspath() 将路径转换为绝对路径

  • 格式: os.path.abspath(‘路径’)

  • 返回值:路径的绝对路径格式

  • 在Linux中
    · - . 点号,表示当前目录

    • … 双点,代表父目录

      absp = op.abspath(".")
      print(absp)

  • basename() 获取路径中的文件名部分

  • 格式:os.path.basename(路径)

  • 返回值:文件名字符串

      bn = op.basename("路径")
      print(bn)
    
  • join() 将多个路径拼合成一个路径

  • 格式:os.path.join(路径1,路径2…)

  • 返回值:组合之后的新路径字符串

  • split() 将路径切割为文件夹部分和当前文件部分

  • 格式:os.path.split(路径)

  • 返回值:路径和文件名组成的元组

  • isdir()检测是否是目录(is开头的一般返回一个布尔值)

  • 格式:os.path.isdir(路径)

  • 返回值:布尔值

  • exists() 检测文件或者目录是否存在

  • 格式:os.path.exists(路径)

  • 返回值:布尔值

shutil模块

import  shutil
  • copy() 复制文件

  • 格式:shutil.copy(来源路径,目标路径)

  • 返回值:返回目标路径

  • 拷贝的同时,可以给文件重命名

  • copy2()复制文件,保留元数据(文件信息)

  • 格式:shutil.copy(来源路径,目标路径)

  • 返回值:返回目标路径

  • 注意:copy和copy2的唯一区别在于copy2复制文件时尽量保留元数据

  • copyfile()将一个文件中的内容拷贝到另外一个文件中

  • 格式:shutil.copyfile(‘原路径’,‘目标路径’)

  • 返回值:无

  • move()移动文件/文件夹

  • 格式:shutil.move(原路径,目标路径)

  • 返回值:目标路径!

归档和压缩

  • 归档:把多个文件或者文件夹合并到一个文件当中

  • 压缩:用算法把多个文件或文件夹无损或者有损合并到一个文件当中

  • make_archive() 归档操作

  • 格式:shutil.make_archive(‘归档之后的目录和文件名’,‘后缀’,‘需要归档的文件夹’)

  • 返回值:归档之后的地址

  • unpack_archive() 解包操作

  • 格式:shutil.unpack_archive(‘归档文件地址’,‘解包之后的地址’)

  • 返回值:解包之后的地址

zip - 压缩包

  • 模块名称叫zipfile

      import  zipfile
    
  • zipfile.ZipFile(file[,model[,compression[,allowZip64]]])

  • 创建一个ZipFile对象,表示一个zip文件。

  • ZipFile.getinfo(name):

  • 获取ZIP文档内指定文件的信息。

  • ZipFile.namelist()

  • 获取zip文档内所有文件的名称列表

  • ZipFile.extractall(path[,members[,pwd[]]])

  • 解压zip文档中所有文件到当前目录

random 模块

  • 随机数

  • 所有的随机模块都是伪随机

      import random
    
  • random(): 获取0-1之间的随机小数

  • 格式: random.random()

  • 返回值:随机0-1之间的小数

  • choice()随机返回序列中的某个值

  • 格式:random.choice(序列)

  • 返回值:序列中的某个值

      l = [str(i)+"haha" for i in range(10)]
      rst = random.choice(l)
      print(rst)
    
  • shuffle() 随机打乱列表

  • 格式:random.shuffle(列表)

  • 返回值:打乱顺序后的列表

      l1 = [i for i in range(10)]
      print(l1)
      random.shuffle(l1)
      print(l1)
    
  • randint(a,b) :返回一个a到b之间的随机整数,包含a和b

      print(random.randint(0,100))
    
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值