zoukankan      html  css  js  c++  java
  • Python之路【第五篇】:Python基础(20)——模块、序列化、os模块

    常用模块

    time模块

    time.time()

    import time
    import datetime
    print(time.time()) # 返回当前时间的时间戳

    time.ctime()

    print(time.ctime()) # 将时间戳转化为字符串格式Wed Feb 17 11:41:27 2016,默认是当前系统时间的时间戳
    print(time.ctime(time.time()-3600)) # ctime可以接收一个时间戳作为参数,返回该时间戳的字符串形式 Wed Feb 17 10:43:04 2016

    time.gtime()

    print(time.gmtime()) # 将时间戳转化为struct_time格式,默认是当前系统时间戳
    print(time.gmtime(time.time() - 3600))

    time.localtime()

    print(time.localtime()) # 同样是将时间戳转化为struct_time,只不过显示的是本地时间,gmtime显示的是标准时间(格里尼治时间)

    time.mktime()

    print(time.mktime(time.localtime())) # 将struct_time时间格式转化为时间戳

    time.strftime()

    print(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())) # 将struct_time时间格式转化为自定义的字符串格式

    time.trptime()

    print(time.strptime("2016-02-17", "%Y-%m-%d")) # 与trftime相反,将字符串格式转化为struct_time格式

    time.asctime()

    print(time.asctime(time.localtime())) # 将struct_time转化为字符串形式

    datetime模块

    • datetime.date:表示日期的类。常用的属性有year, month, day
    • datetime.time:表示时间的类。常用的属性有hour, minute, second, microsecond
    • datetime.datetime:表示日期时间
    • datetime.timedelta: 表示时间间隔,即两个时间点之间的长度

    datetime.date.today()

    print(datetime.date.today()) # 返回当前日期的字符串形式2016-02-17

    datetime.date.fromtimestamp()

    print(datetime.date.fromtimestamp(time.time() - 3600 * 24)) # 将时间戳转化为日期字符串形式2016-02-16

    datetime.datetime.now()

    print(datetime.datetime.now()) # 返回的时间的字符串形式2016-02-17 13:53:30.719803
    print(datetime.datetime.now().timetuple()) # 转化为struct_time格式

    datetime.timedelta()

    datetime.timedelta()返回的是一时间间隔对象,常与datetime.datetime.now()合用计算时间

    print(datetime.datetime.now() - datetime.timedelta(days = 2))

    random模块

    random模块主要用来生成随机数

    random()

    生成大于0小于1的浮点类型随机数

    print(random.random()) #生成大于0小于1的浮点类型随机数

    序列化

    Python中用于序列化的两个模块

    • json     用于【字符串】和 【python基本数据类型】 间进行转换
    • pickle   用于【python特有的类型】 和 【python基本数据类型】间进行转换

    Json模块提供了四个功能:dumps、dump、loads、load

    pickle模块提供了四个功能:dumps、dump、loads、load

    os模块

    提供对操作系统进行调用的接口

    >>> import os
    >>> os.getcwd() # 获取当前工作目录,类似linux的pwd命令
    '/data/python/day5'
    >>> os.chdir('..') # 进入某个目录,类似linux的cd命令
    >>> os.getcwd() 
    '/data/python'
    >>> os.curdir # 获取当前目录
    '.'
    >>> os.pardir # 获取当前目录的父目录
    '..'
    >>> os.chdir('day5')
    >>> os.getcwd()
    '/data/python/day5'
    >>> os.makedirs('testdir1/testdir2') # 递归创建目录相当于 mkdir -p命令
    >>> os.makedirs('test_dir1/test_dir2') # 递归创建目录相当于 mkdir -p命令
    >>> os.listdir('.') # 显示目录下多所有文件 相当于linux的ls -a
    ['test_dir1']
    >>> os.removedirs('test_dir1/test_dir2') # 删除多级(递归)目录,注意目录必须是空的,若目录为空删除,并递归到上以及目录,如果也为空则也删除
    >>> os.mkdir('test2') # 创建目录,相当于mkdir
    >>> os.rmdir('test2') # 删除目录,相当于rm
    
    >>> f = open('test.txt', 'w')
    >>> f.write('testline')
    8
    >>> f.close()
    >>> os.listdir()             
    ['testdir2', 'test.txt', 'testdir1']
    >>> os.rename('test.txt', 'new_test.txt') #重命名
    >>> os.stat('.') # 显示目录或文件的状态,包括权限等
    os.stat_result(st_mode=16877, st_ino=786731, st_dev=64784, st_nlink=4, st_uid=0, st_gid=0, st_size=4096, st_atime=1455695375, st_mtime=1455696066, st_ctime=1455696066)
    >>> os.sep # 获取文件分割符,linux为/,windows为\
    '/'
    >>> os.name # 返回平台名,linux为posix,win为nt
    'posix'
    >>> os.linesep # 返回系统换行符,win下为
    
    '
    '
    >>> os.pathsep # 返回用于分割文件路径的字符串,vin下为;
    ':'
    >>> os.system('ls') # 执行shell命令
    testdir1  testdir2
    0
    >>> os.environ # 获取系统环境变量
    environ({'USER': 'root', 'PATH': '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin', 'SHELL': '/bin/bash', 'HOME': '/root', 'SHLVL': '1', 'HISTTIMEFORMAT': '%
    ...省略n多好...
    >>> os.path.abspath('.') # 返回目录的绝对路径
    '/data/python/day5'
    >>> os.path.split('/data/python/day5') # 将path分割成目录和文件,元祖返回
    ('/data/python', 'day5') 
    >>> os.path.dirname('/data/python/day5') # 返回path也即是split的第一个元素
    '/data/python'
    >>> os.path.basename('/data/python/day5') # 返回文件名也即是split的第一个元素
    'day5' 
    >>> os.path.exists('/data/python/day5') # 判断目录或文件是否存在
    True
    >>> os.path.isabs('/data/python/day5') # 判断是否是绝对目录,不考虑是否存在,说白了就是字符串符合绝对路径的规范就返回True
    True
    >>> os.path.isabs('day5')          
    False
    >>> os.path.isabs('/data/python/day6') # 
    True
    >>> os.path.isfile('/data/python/day5') # 判断是否是文件
    False
    >>> os.path.isdir('/data/python/day5') # 判断是否是目录
    True
    >>> os.path.isdir('/data/python/day6')
    False
    >>> os.path.join('/data/python/day6', 'test') # 组合目录
    '/data/python/day6/test'
    >>> os.path.getatime('/data/python/day5') # 返回文件或目录的最后访问时间
    1455695375.9394312
    >>> os.path.getmtime('/data/python/day5') # 返回文件或目录的最后修改时间
    1455696066.0034554
    >>> os.path.getctime('/data/python/day5') # 返回文件或目录的创建时间
    1455696066.0034554
  • 相关阅读:
    VUE学习笔记--模板渲染
    VUE学习笔记--生命周期 Vue
    VUE学习笔记--实例及选项
    VUE学习笔记--Vue的模板语法
    Vue学习笔记--Vue 简述
    吴裕雄--天生自然--SPRING BOOT--解决:Lifecycle mapping "org.eclipse.m2e.jdt.JarLifecycleMapping" is not available. To enable full functionality, install the lifecycle
    【Vue2.x】Vue UI中无法安装指定版本依赖解决方法
    mysql加锁过程
    java实现交替打印的四种方法
    23th CSP 游记
  • 原文地址:https://www.cnblogs.com/jiangnanmu/p/5595459.html
Copyright © 2011-2022 走看看