time模块、random模块、sys模块、os模块

---恢复内容开始---

time模块、random模块、sys模块、os模块

  • time模块

    • 表示时间的三种形式:

      1. 时间戳:通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量。我们运行“type(time.time())”,返回的是float类型。

            主要是给计算识别使用的。可以用于时间精确的计算。

      2. 格式化的时间字符串。主要是给人看的。

         1 %y 两位数的年份表示(00-99 2 %Y 四位数的年份表示(000-9999 3 %m 月份(01-12 4 %d 月内中的一天(0-31 5 %H 24小时制小时数(0-23 6 %I 12小时制小时数(01-12 7 %M 分钟数(00=59 8 %S 秒(00-59 9 %a 本地简化星期名称
        10 %A 本地完整星期名称
        11 %b 本地简化的月份名称
        12 %B 本地完整的月份名称
        13 %c 本地相应的日期表示和时间表示
        14 %j 年内的一天(001-36615 %p 本地A.M.或P.M.的等价符
        16 %U 一年中的星期数(00-53)星期天为星期的开始
        17 %w 星期(0-6),星期天为星期的开始
        18 %W 一年中的星期数(00-53)星期一为星期的开始
        19 %x 本地相应的日期表示
        20 %X 本地相应的时间表示
        21 %Z 当前时区的名称
        22 %% %号本身
        python中日期时间的格式化符号
      3. 元组(struct_time) :struct_time元组共有9个元素共九个元素:(年,月,日,时,分,秒,一年中第几周,一年中第几天等)。

        是时间戳、格式化时间两者转换的中间件。

        可以用于简单的时间计算;

        • time.localtime():当地结构化时间

        • time.gmtime():英国的结构化时间

 

 

    • 几种格式之间的转换

        • 格式化时间→结构化时间:strptime(结构化时间,格式)

 

1 p = time.strptime("2009-10-5","%Y-%m-%d")    #strptime(结构化时间,格式)
2 print(p)
3 
4 输出结果:
5 time.struct_time(tm_year=2009, tm_mon=10, tm_mday=5, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=0, tm_yday=278, tm_isdst=-1)

 

 

 

 

        • 结构化时间→格式化时间:strftime(格式,结构化时间) 

 

1 a = time.localtime(1500000000)
2 print(a)
3 print(time.strftime("%Y-%m-%d",a))          #strftime(格式,结构化时间)
4 输出结果:
5 time.struct_time(tm_year=2017, tm_mon=7, tm_mday=14, tm_hour=10, tm_min=40, tm_sec=0, tm_wday=4, tm_yday=195, tm_isdst=0)
6 2017-07-14

 

        • 结构化时间→时间戳:mktime(结构化时间)           

 

1 p = time.strptime("2009-10-5","%Y-%m-%d")
2 print(p)
3 print(time.mktime(p))   #结构化时间转换为时间戳
4 
5 输出结果:
6 1254672000.0

 

 

        • 时间戳→结构化时间:localtime(时间戳)

 

1 a = time.localtime(1500000000)  
2 print(a)
3 
4 输出结果:
5 time.struct_time(tm_year=2017, tm_mon=7, tm_mday=14, tm_hour=10, tm_min=40, tm_sec=0, tm_wday=4, tm_yday=195, tm_isdst=0)

 

 

 

 

 1 #结构化时间转化为格式化时间
 2 print(time.asctime(time.localtime(1500000000)))#
 3 print(time.asctime(结构化时间))   #如果不传参数,直接返回当前时间的格式化时间
 4 
 5 
 6 #时间戳转换格式化时间
 7 print(time.ctime(1500000000))   
 8 print(time.ctime(时间戳))       #如果不传参数,直接返回当前时间的格式化时间
 9 
10 输出结果:
11 Fri Jul 14 10:40:00 2017
12 Tue Apr 24 17:20:54 2018
13 Fri Jul 14 10:40:00 2017
14 Tue Apr 24 17:20:54 2018

 

 

  • random模块

 1 #随机整数
 2 >>> random.randint(1,5)  # 大于等于1且小于等于5之间的整数
 3 >>> random.randrange(1,10,2) # 大于等于1且小于10之间的奇数
 4 
 5 
 6 #随机选择一个返回
 7 >>> random.choice([1,'23',[4,5]])  # #1或者23或者[4,5]
 8 #随机选择多个返回,返回的个数为函数的第二个参数
 9 >>> random.sample([1,'23',[4,5]],2) # #列表元素任意2个组合
10 [[4, 5], '23']
11 
12 
13 #打乱列表顺序
14 >>> item=[1,3,5,7,9]
15 >>> random.shuffle(item) # 打乱次序
16 >>> item
17 [5, 1, 3, 7, 9]
18 >>> random.shuffle(item)
19 >>> item
20 [5, 9, 7, 1, 3]
  • sys模块

    • 定义:sys模块是与python解释器交互的一个接口。
1 sys.argv           命令行参数List,第一个元素是程序本身路径
2 sys.exit(n)        退出程序,正常退出时exit(0),错误退出sys.exit(1)
3 sys.version        获取Python解释程序的版本信息
4 sys.path           返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值
5 sys.platform       返回操作系统平台名称
      • sys.path

        • 返回模块的搜索路径。搜到第一个目标时停止。

      • sys.argv

        • 返回的是一个列表,列表的第一个选项是当前文件所在的路径。 

 

 1 执行一个程序
 2 debug
 3 直接执行
 4 import sys
 5 import logging
 6 inp = sys.argv[1] if len(sys.argv)>1 else 'WARNING'
 7 logging.basicConfig(level=getattr(logging,inp))  # DEBUG
 8 num = int(input('>>>'))
 9 logging.debug(num)
10 a = num * 100
11 logging.debug(a)
12 b = a - 10
13 logging.debug(b)
14 c = b + 5
15 print(c)  #   3000
loging.DEBUG

 

  • os模块

    •  os模块是与操作系统交互的一个接口。

   

 

'''
os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径
os.chdir("dirname")  改变当前脚本工作目录;相当于shell下cd
os.curdir  返回当前目录: ('.')
os.pardir  获取当前目录的父目录字符串名:('..')
os.makedirs('dirname1/dirname2')    可生成多层递归目录
os.mkdir('dirname')    生成单级目录;相当于shell中mkdir dirname    ##也可以生成多级目录。前提是必须有父类文件夹,不然会报错
os.removedirs('dirname1')    若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推      #文件如果为空,既被删除
os.rmdir('dirname')    删除单级空目录,若目录不为空则无法删除,报错;相当于shell中rmdir dirname      #如果同级目录非空,则不删除
os.listdir('dirname')    列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印
os.remove()  删除一个文件
os.rename("oldname","newname")  重命名文件/目录
os.stat('path/filename')  获取文件/目录信息
os.sep    输出操作系统特定的路径分隔符,win下为"\\",Linux下为"/"
os.linesep    输出当前平台使用的行终止符,win下为"\t\n",Linux下为"\n"
os.pathsep    输出用于分割文件路径的字符串 win下为;,Linux下为:
os.name    输出字符串指示当前使用平台。win->'nt'; Linux->'posix'
os.system("bash command")  运行shell命令,直接显示   乱码
os.popen("bash command).read()  运行shell命令,获取执行结果   有返回值,相比os.system()经过解码。
os.environ  获取系统环境变量

os.path
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所指向的文件或者目录的最后修改时间 os.path.getsize(path) 返回path的大小
'''

 

 

          

     

    

  

           

  

    

 

posted on 2018-04-24 17:20  弃疾  阅读(116)  评论(0)    收藏  举报

导航