1.Time、  Datetime(常用)

UTC时间:为世界标准时间,时区为0的时间

北京时间,UTC+8东八区

  1. import time
  2.  
  3. print(time.time()) # timestamp,float
  4. print(time.localtime()) # tuple: UTC+8 tm_year=2017, tm_mon=7, tm_mday=26, tm_hour=5, tm_min=36,
  5. # tm_sec=50, tm_wday=2, tm_yday=207, tm_isdst=0
  6. print(time.gmtime()) # tuple: 标准时间UTC
  7.  
  8. print(time.strftime('%Y-%m-%d %H:%M:%S', time.localtime())) # 2017-07-26 05:42:20
  9.  
  10. print(time.ctime()) # Wed Jul 26 17:56:13 2017
  11. print(time.asctime(time.localtime())) # tuple convert to Wed Jul 26 17:56:13 2017

  1. print(datetime.datetime.now()) #返回 2016-08-19 12:47:03.941925
  2. print(datetime.date.fromtimestamp(time.time())) # 时间戳直接转成日期格式 2016-08-19
  3. print(datetime.datetime.now())
  4. print(datetime.datetime.now() + datetime.timedelta(3)) #当前时间+3天
  5. print(datetime.datetime.now() + datetime.timedelta(-3)) #当前时间-3天
  6. print(datetime.datetime.now() + datetime.timedelta(hours=3)) #当前时间+3小时
  7. print(datetime.datetime.now() + datetime.timedelta(minutes=30)) #当前时间+30分
  8.  
  9. c_time = datetime.datetime.now()
  10. print(c_time.replace(minute=3,hour=2)) #时间替换

2.Random

  1. import random
  2. print (random.random()) # [0,1) 范围内的浮点数 0.3459334502763365
  3. print (random.randint(1,7)) # [1,7] 范围内的int
  4. print (random.randrange(1,10)) #
  5. #random.randrange的函数原型为:random.randrange([start], stop[, step]),
  6. # 从指定范围内,按指定基数递增的集合中 获取一个随机数。如:random.randrange(10, 100, 2),
  7. # 结果相当于从[10, 12, 14, 16, ... 96, 98]序列中获取一个随机数。
  8. # random.randrange(10, 100, 2)在结果上与 random.choice(range(10, 100, 2) 等效。
  9.  
  10. print(random.choice('liukuni')) #i
  11. #random.choice从序列中获取一个随机元素。
  12. # 其函数原型为:random.choice(sequence)。参数sequence表示一个有序类型。
  13. # 这里要说明一下:sequence在python不是一种特定的类型,而是泛指一系列的类型。
  14. # list, tuple, 字符串都属于sequence。有关sequence可以查看python手册数据模型这一章。
  15. # 下面是使用choice的一些例子:
  16. print(random.choice("学习Python"))#学
  17. print(random.choice(["JGood","is","a","handsome","boy"])) #列表元素随机一个
  18. print(random.choice(("Tuple","List","Dict"))) #tuple元素的随机一个
  19. print(random.sample([1,2,3,4,5],3)) #[1, 2, 5]
  20. #random.sample的函数原型为:random.sample(sequence, k),从指定序列中随机获取指定长度的片断。sample函数不会修改原有序列。
  1. # --------------------------- 应用----------------------------------
  2. #随机浮点数:
  3. print( random.random()) #0.2746445568079129
  4. print(random.uniform(1, 10)) #9.887001463194844
  5.  
  6. #随机字符:
  7. print(random.choice('abcdefg&#%^*f')) #f
  8.  
  9. #多个字符中选取特定数量的字符:
  10. print(random.sample('abcdefghij',3)) #['f', 'h', 'd']
  11.  
  12. #随机选取字符串:
  13. print( random.choice ( ['apple', 'pear', 'peach', 'orange', 'lemon'] )) #apple
  14. #洗牌#
  15. items = [1,2,3,4,5,6,7]
  16. print(items) #[1, 2, 3, 4, 5, 6, 7]
  17. random.shuffle(items)
  18. print(items) #[1, 4, 7, 2, 5, 3, 6]

1.os 和 sys

import os

a = os.system("dir")  只是把结果输出到屏幕就完了,a得到dir命令执行的返回值,0或非0

str = os.popen("dir").read()   #  os.popen("dir")是内存地址,str是打印输出的字符串

import sys

print(sys.path)   # 这个是库的路径,找库就在这些路径中找。  ../base/libray自己的库   和../base/libray/site-package第三方库

sys.argv    脚本的相对路径

sys.argv[1]  表示脚本的第一个参数

3.os模块

  1. import os
  2.  
  3. os.getcwd() # pwd
  4. os.chdir("d:\\") # cd
  5. os.curdir # .
  6. os.pardir # ..
  7. os.makedirs("d:\\fff\\fff") # 递归创建目录
  8. os.removedirs("d:\\fff\\fff") # 递归删除清理空文件夹
  9. os.mkdir("d:\\aaa") # mkdir
  10. os.rmdir("d:\\aaa") # 删除单个空目录
  11. os.listdir("d:\\") # list方式列出当前目录中的内容
  12. os.remove("d:\\a\\b\\c.txt") # 删除某个文件
  13. os.rename("d:\\a\\b\\c.txt", "d:\\a\\b\\f.txt") # 重命名
  14. os.stat("d:\\a\\b\\s.txt") # 文件或目录属性atime mtime ctime等
  15. os.sep # 路径分隔符,Windows为\\Linux为/
  16. os.linesep # 换行符,Windows为\r\nLinux为\n
  17. os.environ # 查看系统的环境变量
  18. os.pathsep # 环境变量的分隔符Windows为分号 Linux为冒号
  19. # 'PATH': 'C:\\ProgramData\\Oracle\\Java\\javapath;C:\\windows\\system32;
  20. os.name # 操作系统名称 Windows为nt
  21. os.system("dir") # 执行操作系统自己的命令
  22. os.path.abspath(__file__) # 获取某文件的绝对路径
  23. os.path.split("d:\\ff\\a.txt") # 返回元祖('d:\\ff', 'a.txt')
  24. os.path.dirname("d:\\ff\\a.txt") # 返回d:\ff
  25. os.path.basename("d:\\ff\\a.txt") # 返回a.txt
  26. os.path.exists("d:\\ff\\a.txt") # 判断文件或目录是否存在
  27. os.path.isabs("d:\\ff\\a\\mj") # True 判断是否为根开始
  28. os.path.isfile("d:\\ff\\222.txt") # 判断是否存在并且为文件
  29. os.path.isdir("d:\\ff\\") # 判断是否存在并且为目录
  30. os.path.join("c:\\", "b", "c.txt") # c:\b\c.txt路径字符串连接
  31. os.path.getatime() # 返回文件或目录atime
  32. os.path.getmtime() # 返回文件或目录的mtime

4.sys模块

  1. import sys
  2.  
  3. sys.path # 返回模块搜索路径,初始化时使用PYTHONPATH环境变量的值
  4. sys.path.append("..") # 添加模块搜索路径
  5. sys.stdout.write(">") # 控制台输出
  6. sys.stdout.flush() # 从缓存刷出去
  7.  
  8. sys.version # Python解释器版本
  9. sys.argv # ['abc.py脚本名', '参数st', '参数nd', '参数rd']
  10. sys.platform # win32返回操作系统平台名称
  11. sys.exit() # 退出程序,正常退出时exit(0)
  12.  
  13. # python2.7
  14. sys.maxint
  15. sys.stdin.readline()[:-1]

Python退出程序的方式有两种:os._exit(), sys.exit()

1)os._exit() 直接退出 python程序,其后的代码也不会继续执行。

2)sys.exit() 引发一个 SystemExit异常,若没有捕获这个异常,Python解释器会直接退出;捕获这个异常可以做一些额外的清理工作。0为正常退出,其他数值(1-127)为不正常,可抛异常事件供捕获。

exit() 跟 C 语言等其他语言的 exit() 应该是一样的。

os._exit() 调用 C 语言的 _exit() 函数。
__builtin__.exit 是一个 Quitter 对象,这个对象的 __call__ 方法会抛出一个 SystemExit 异常。

一般来说os._exit() 用于在线程中退出
sys.exit() 用于在主线程中退出。

参考:http://blog.csdn.net/taohuaxinmu123/article/details/39669495

5.shutil模块

  1. import shutil
  2.  
  3. f1 = open("a", "r", encoding="utf8")
  4. f2 = open("b", "w", encoding="utf8")
  5.  
  6. shutil.copyfileobj(f1, f2) # 复制文件对象,f1.read(length) f2.write(length)
  7. shutil.copyfile("a", "b") # 输入名字直接复制,内部还是copyfileobj方法
  8. shutil.copymode("a.txt", "b.txt") # Linux系统中,a.txt的rwxrwxrwx权限复制到b.txt上,其他不变
  9. shutil.copystat("a", "b") # Linux中,a的rwx权限,atime,mtime,flags复制到b上,其他不变
  10. shutil.copy("a", "b") # 拷贝a的内容和权限给b,内部实现为先copyfile,再copymode
  11. shutil.copy2("a", "b") # 拷贝a的内容和权限,atime,mtime,flags到b,内部先copyfile,再copystat
  12. shutil.copytree("a", "b/") # 递归复制a目录及其中的所有文件
  13. shutil.rmtree("a") # 递归删除a目录及其所有文件
  14. shutil.move("a", "b") # 递归的移动文件
  15. shutil.make_archive("aa/", "gztar", "/etc/") # /etc目录打包压缩格式为aa.tar.gz
  16. shutil.make_archive("aa/","bztar","/etc/") # /etc目录打包压缩格式为aa.tar.bz2

shutil 对压缩包的处理是调用 ZipFile 和 TarFile 两个模块来进行的,详细:

  1. import zipfile
  2.  
  3. # 压缩
  4. z = zipfile.ZipFile('laxi.zip', 'w')
  5. z.write('a.log')
  6. z.write('data.data')
  7. z.close()
  8.  
  9. # 解压
  10. z = zipfile.ZipFile('laxi.zip', 'r')
  11. z.extractall()
  12. z.close()
  13.  
  14. zipfile 压缩解压
  1. import tarfile
  2.  
  3. # 压缩
  4. tar = tarfile.open('your.tar','w')
  5. tar.add('/Users/wupeiqi/PycharmProjects/bbs2.zip', arcname='bbs2.zip')
  6. tar.add('/Users/wupeiqi/PycharmProjects/cmdb.zip', arcname='cmdb.zip')
  7. tar.close()
  8.  
  9. # 解压
  10. tar = tarfile.open('your.tar','r')
  11. tar.extractall() # 可设置解压地址
  12. tar.close()
  13.  
  14. tarfile 压缩解压

Python学习第二阶段Day2,模块time/datetime、random、os、sys、shutil的更多相关文章

  1. Python常用模块(time, datetime, random, os, sys, hashlib)

    time模块 在Python中,通常有这几种方式来表示时间: 时间戳(timestamp) :         通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量.我们运 ...

  2. 模块、包及常用模块(time/random/os/sys/shutil)

    一.模块 模块的本质就是一个.py 文件. 导入和调用模块: import module from module import xx from module.xx.xx import xx as re ...

  3. python笔记-1(import导入、time/datetime/random/os/sys模块)

    python笔记-6(import导入.time/datetime/random/os/sys模块)   一.了解模块导入的基本知识 此部分此处不展开细说import导入,仅写几个点目前的认知即可.其 ...

  4. day19:常用模块(collections,time,random,os,sys)

    1,正则复习,re.S,这个在用的最多,re.M多行模式,这个主要改变^和$的行为,每一行都是新串开头,每个回车都是结尾.re.L 在Windows和linux里面对一些特殊字符有不一样的识别,re. ...

  5. python基础-7.3模块 configparser logging subprocess os.system shutil

    1. configparser模块 configparser用于处理特定格式的文件,其本质上是利用open来操作文件. 继承至2版本 ConfigParser,实现了更多智能特征,实现更有可预见性,新 ...

  6. Python学习第二阶段Day2(json/pickle)、 shelve、xml、PyYAML、configparser、hashlib模块

    1.json/pickle   略. 2.shelve模块 import shelve # shelve 以key value的形式序列化,value为对象 class Foo(object): de ...

  7. 常用模块之 time,datetime,random,os,sys

    time与datetime模块 先认识几个python中关于时间的名词: 时间戳(timestamp):通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量.我们运行“ty ...

  8. Python常用模块(logging&re&时间&random&os&sys&shutil&序列化&configparser&&hashlib)

    一. logging(日志模块) 二 .re模块 三. 时间模块 四. random模块 五. os模块 六. sys模块 七. shutil模块 八. 序列化模块(json&pickle&a ...

  9. time,datetime,random,os,sys,hashlib,logging,configparser,re模块

    #-----time模块----- print(help(time)) #打印time帮助文档 print(time.time()) #打印时间戳 1569824501.6265268 time.sl ...

随机推荐

  1. 【CSU 1079】树上的查询

    http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1079 现有一棵有N个顶点的树,顶点的标号分别为1, 2, …, N.对于每个形如a b k的询问, ...

  2. javaSE基础(三)

    泛型类:像ArrayList这样的特殊类,他们允许通过类型参数来指明使用的数据类型. 报装类:一种用于将基本类型的数据"封装"成对象的类. 装箱:将 基本类型的数据自动转换为对应类 ...

  3. 【USACO 2008FEB】 旅馆

    [题目链接] 点击打开链接 [算法] 线段树 对于一个节点,记录它从左端点延伸的最多的空房间的个数,从右端点延伸的最多的空房间个数,和该区间最多的连续 空房间个数 [代码] #include<b ...

  4. Spark 决策树--回归模型

    package Spark_MLlib import org.apache.spark.ml.Pipeline import org.apache.spark.ml.evaluation.Regres ...

  5. Spark 二项逻辑回归__二分类

    package Spark_MLlib import org.apache.spark.ml.Pipeline import org.apache.spark.ml.classification.{B ...

  6. JSP共享范围

    概念:对象的声明周期和可访问性称为作用域(scope). 注:有时候内置对象的作用域一旦设置就不能修改,其他对象(如JavaBean)可以设置他的作用域 作用域类型: Page:页面域(对象只对于它所 ...

  7. E20171229-hm

    specification  n. 规格; 说明书; 详述;

  8. bzoj题目大体分类

    http://m.blog.csdn.net/article/details?id=51387623

  9. Oracle 助记

    title: Oracle 助记 Nothing is impossible! 基础操作 $ sqlplus name/pssword; # 登录数据库 $ create user username ...

  10. C++ 类中的3种权限作用范围

    三种访问权限 public:可以被任意实体访问 protected:只允许子类及本类的成员函数访问 private:只允许本类的成员函数访问 #include <iostream> #in ...