zoukankan      html  css  js  c++  java
  • Python的import导入与时间

    一、模块与包

      模块,在Python可理解为对应于一个文件。在创建了一个脚本文件后,定义了某些函数和变量。你在其他需要这些功能的文件中,导入这模块,就可重用这些函数和变量。一般用module_name.fun_name,和module_name.var_name进行使用。这样的语义用法使模块看起来很像类或者名字空间,可将module_name 理解为名字限定符。模块名就是文件名去掉.py后缀。

      通常包总是一个目录,可以使用import导入包,或者from + import来导入包中的部分模块。包目录下为首的一个文件便是 __init__.py。然后是一些模块文件和子目录,假如子目录中也有 __init__.py 那么它就是这个包的子包了。
      在创建许许多多模块后,我们可能希望将某些功能相近的文件组织在同一文件夹下,这里就需要运用包的概念了。包对应于文件夹,使用包的方式跟模块也类似,唯一需要注意的是,当文件夹当作包使用时,文件夹需要包含__init__.py文件,主要是为了避免将文件夹名当作普通的字符串。__init__.py的内容可以为空,一般用来进行包的某些初始化工作或者设置__all__值,__all__是在from package-name import *这语句使用的,全部导出定义过的模块

    二、import导入

      在python用import或者from…import或者from…import…as…来导入相应的模块,作用和使用方法与C语言的include头文件类似。其实就是引入某些成熟的函数库和成熟的方法,避免重复造轮子,提高开发速度。python的import方法可以引入系统的模块,也可以引入我们自己写好的共用模块。

      import的几种用法:

      1.如果是本地导入文件,直接使用:import filename

      2. 如果导入的是一个包,该包下面必须是有__init__.py文件才可以导入,否则报错,只有有了__init__.py文件,python解析器才会把这个目录当成是的包

      在导入的时候,.py的后缀直接省略,如果是多级的包,或者想导入包里面的函数等,可以使用from进行导入。实例如下:

    #test.py
    def hello():
        print('hello world')
    import momo.test
    momo.test.hello()
    
    from momo import test
    test.hello()
    
    
    from momo.test import hello
    hello()
    
    
    import momo.test as aaa
    print ('aaaaaaaaaaaaaa')
    aaa.hello()
    print ('aaaaaaaaaaaaaa')

    结果:

     

    三、datatime获得时间

      在 Python 文档里,time是归类在Generic Operating System Services中,换句话说, 它提供的功能是更加接近于操作系统层面的。通读文档可知,time 模块是围绕着 Unix Timestamp 进行的。关于时间子类之间的对应关系:

    object
         timedelta
         tzinfo
         time
         date
                datetime

      实例:获取当前的时间

    from datetime import datetime, timedelta
    
    now_time = datetime.now()
    print (now_time)
    new_time  = now_time.strftime('%Y-%m-%d %H:%M:%S')
    a = now_time.strftime('%c')
    print (new_time)
    print (a)

      结果:

      解释:

       1. 先导入datetime类

      2. 通过datetime的now方法就获得当前所需要的时间

      3.datetime还是有好多方法的,可以获取year, month,等,请通过dir()方法查看

      4.此时我们获得的now_time还是一个datetime类,所以我们需用用strftime方法转换成字符串,strftime的参数就是最终需要字符串的形式。

      5.Strftime需要便是时间的参数有很多,下面我们介绍一下最长用的一些参数:

      格式参数:

        %Y 带世纪部分的十制年份

        %m 十进制表示的月份

        %d 十进制表示的每月的第几天

        %H 24小时制的小时

        %M 十时制表示的分钟数

        %S 十进制的秒数

        %c  标准时间,如:04/25/17 14:35:14  类似于这种形式

      实例:获取当前日期的前一天与后一天

    now_time = datetime.now()
    yesterday = now_time + timedelta(days=-1)
    tomorrow = now_time + timedelta(days=+1)
    tomorrow = tomorrow.strftime('%Y-%m-%d')
    print (yesterday)
    print (tomorrow)

      结果:

      解释:正数代表几天之后的,负数代表几天之前的

    四、时间格式的相互转换

      时间有三种存在方式:时间对象(datetime)、时间字符串(str)、时间戳(timestamp)

      1.时间对象转换为时间字符串(datetime → str)

    from datetime import datetime
    import time
    now_time  = datetime.now()
    print (now_time)
    print (type(now_time))
    print ('##########time to str############')
    _time = now_time.strftime('%Y-%m-%d %H:%M:%S')
    print (_time)
    print (type(_time))

     结果:

      2.时间字符串转换为时间对象(str → datetime)

    print ('###########str to time################')
    d_time = datetime.strptime(_time,'%Y-%m-%d %H:%M:%S')
    print (d_time)
    print (type(d_time))

      结果:

      3.时间戳转换为时间对象(timestamp → datetime)

    _a = time.time()
    print (_a)
    _n_time = datetime.fromtimestamp(_a)
    print (_n_time)
    print (type(_n_time))

      结果:

      

  • 相关阅读:
    玩转xss
    Anonim小白成长计划
    mssql注入与绕过
    了解mssql数据库
    2020年度学习规划
    access 注入
    bypasswaf 之报错注入
    bypasswaf之盲注
    sql注入常用函数与bypasswaf
    一篇关于数据库的另类操作
  • 原文地址:https://www.cnblogs.com/huangdongju/p/7811378.html
Copyright © 2011-2022 走看看