天天看點

python import、datetime擷取時間及轉換

  1. import

    在Python中,我們建立的檔案基本都是以.py結尾,那一個.py的檔案就稱之為子產品。

    為了友善管理子產品,Python中又引入了包(Packge)這個概念,每個包下面都有一個__init__.py檔案,這個檔案是必須存在的,否則,Python就把這個目錄當成普通目錄,而不是一個包。__init__.py可以是空檔案,也可以有Python代碼。因為__init__.py本身就是一個子產品,舉個例子:test目錄下面有__init_py,app.py,bbb.py三個檔案。

    有時候一個檔案或者一個包中已經出現了一個函數,我們在另一個Python代碼中需要引入該檔案或者該檔案的某個函數,那怎麼解決呢?Python給我們提供一個關鍵字import,下面我們來了解一下它的用法:

        1.如果是本地導入檔案,直接使用:import filename

        2.如果導入的是一個包,該包下面必須是有__init__.py檔案才可以導入,否則報錯,隻有有了__init__.py檔案,Python解析器才會把這個目錄當成包。

        常用的導入子產品格式:

    form xxx import xxx

    import xxx

        在導入的時候,.py的字尾直接省略,如果是多級的包,或者想導入包裡面的函數等,可以使用from進行導入,舉個例子:

    from aaa import bbb

    import os

        解釋:第一個例子是導入aaa包下面的bbb子產品或者導入aaa檔案下面的bbb類或者函數。

        第二個import是直接導入系統子產品os子產品。

    #import 一般我們用作導入子產品來用,常用的快捷鍵是 alt + Enter就可以直接導入子產品

    #from ... import ... 這個是從什麼子產品中導入什麼,最終你可以導入的是一個函數,也可以是一個類,也可以是一個子產品

    #總結:就是一層一層的調用就可以了。

    #注意:1.import後面導入的是什麼,在調用的時候,就必須寫什麼,除非你用from進行導入    

                 2.導入的時候不寫字尾名字

  2. datetime擷取時間

    在Python文檔裡,time是歸類在Generic Operating System Services中,換句話說,它提供的功能是更加接近于作業系統層面的。通讀文檔可知,time子產品是圍繞着Unix Timestamp進行的。time子產品基于不用于取時間,取時間推薦使用datetime子產品。

    from datetime import datetime,timedelta
    now_time = datetime.now()
    a = now_time.strftime('%c')
    print(now_time)
    print(a)
    b = now_time + timedelta(days =-1)
    print(b)
               

    解釋:

    Timedelta可以接收days和seconds兩個參數,正數代表幾天之前的,負數代表幾天之前的,是以b代表的是一天之前的時候。

  3. 時間格式互相轉換

    時間的三種存在方式:時間對象、時間字元串,時間戳。

    字元串轉datetime:

    from datetime import datetime,timedelta
    string = '2017-04-25 11:59:58'
    time1 = datetime.strptime(string,'%Y-%m-%d %H:%M:%S')
    print(time1)
    print(type(time1))
               
    datetime轉字元串
    from datetime import datetime,timedelta
    string = '2017-04-25 11:59:58'
    time1 = datetime.strptime(string,'%Y-%m-%d %H:%M:%S')
    print(time1)
    print(type(time1))
    time1_str = datetime.strftime(time1,'%Y-%m-%d %H:%M:%S')
    print(type(time1_str))
    print(time1_str)
               
    時間戳轉時間對象:
    from datetime import datetime,timedelta
    import time
    time1 = time.time()
    print(time1)
    time1_str = datetime.fromtimestamp(time1)
    print(time1_str)
    print(type(time1_str))