Python模組之time 與 init

2021-08-25 05:25:21 字數 2773 閱讀 8943

在python模組的每乙個包中,都有乙個__init__.py檔案(這個檔案定義了包的屬性和方法)然後是一些模組檔案和子目錄,假如子目錄中也有__init__.py 那麼它就是這個包的子包了。當你將乙個包作為模組匯入(比如從 xml 匯入 dom )的時候,實際上匯入了它的__init__.py 檔案。

乙個包是乙個帶有特殊檔案 __init__.py 的目錄。__init__.py 檔案定義了包的屬性和方法。其實它可以什麼也不定義;可以只是乙個空檔案,但是必須存在。如果 __init__.py 不存在,這個目錄就僅僅是乙個目錄,而不是乙個包,它就不能被匯入或者包含其它的模組和巢狀包。

__init__.py 中還有乙個重要的變數,叫做__all__。我們有時會使出一招「全部匯入」。這時 import 就會把註冊在包__init__.py 檔案中 __all__ 列表中的子模組和子包匯入到當前作用域中來。

執行python應用或引用python模組,python直譯器要有乙個查詢的過程。可以通過設定乙個環境變數pythonpath為python增加乙個搜尋路徑,以方便查詢到相關python模組,這與眾多應用程式需要設定乙個系統環境變數的道理是一樣的。在命令列中可以通過以下命令設定:

c:\users\administrator>set pythonpath=e:/project/python/moduleandpackage/

進入python環境後可以,通過python的sys.path屬性獲得當前搜尋路徑的配置,可以看到之前我們設定的路徑已經在當前搜尋路徑中了。

例:

import sys

for i in sys.path :

print(i)

輸出為:

/home/chang/桌面/py/測試

/home/chang/桌面/py

/usr/lib/python36.zip

/usr/lib/python3.6

/usr/lib/python3.6/lib-dynload

/usr/local/lib/python3.6/dist-packages

/usr/lib/python3/dist-packages

每個.py檔案都是可以認為是乙個python模組,.py檔案中可以包含類、方法、變數和常量(python還沒有嚴格意義上的常量,只是約定大寫的變數作為常量),檔案內也可以直接寫所有的邏輯語句並在載入時從上之下直接執行,這與其他解釋型語言是類似的。

引用乙個模組,就要建立執行它的上下文環境。我們先設定乙個環境變數pythonpath,以便python直譯器找到.py模組,然後import 模組名字,即可訪問其中的方法或變數。或者使用from關鍵字直接匯入模組內的屬性或方法

表示時間我們通常用三種形式:

import time

print(time.time())

print(time.strftime("%y-%m-%d %x"))

print(time.localtime())

print(time.gmtime())

結果為:

1534739053.4532516 時間戳,系統的時間,單位秒(從1970/1/1開始)

2018-08-20 12:24:13 格式化的時間字串

time.struct_time(tm_year=2018, tm_mon=8, tm_mday=20, tm_hour=12, tm_min=24, tm_sec=13, tm_wday=0, tm_yday=232, tm_isdst=0)

time.struct_time(tm_year=2018, tm_mon=8, tm_mday=20, tm_hour=4, tm_min=24, tm_sec=13, tm_wday=0, tm_yday=232, tm_isdst=0)

三者的轉換關係:

計算機認識的時間只能是'時間戳'格式,而程式設計師可處理的或者說人類能看懂的時間有: '格式化的時間字串','結構化的時間'。

#將結構化的時間轉換為格式化的字串時間

print(time.strftime("%y-%m-%d %x", time.localtime()))

#將結構化的時間轉換為時間戳

print(time.mktime(time.localtime()))

#將時間戳轉換為結構化的時間

print(time.localtime(1498025310))

#將格式化的字串時間轉換為結構化的時間

#將結構化的時間轉換為字串時間

print(time.asctime(time.localtime()))

print(time.asctime()) #如果沒有引數,將會將time.localtime()作為引數傳入。

print('------------------------------')

#將時間戳轉換為字串時間

print(time.ctime(time.time()))

print(time.ctime()) #如果沒有引數,將會將time.time()作為引數傳入。

python模組之time模組

time模組 和時間相關的功能模組。1,時間戳時間 時間戳時間 float顯示1970年到當前的秒數 print time.time 1515584512.4203668 2,格式化時間 格式化時間 格式化顯示當前時間,方便檢視 print time.strftime y m d h m s 201...

Python常用模組之time模組

python中的time和datetime模組是時間方面的模組 time模組中時間表現的格式主要有三種 1 timestamp 時間戳,時間戳表示的是從1970年1月1日00 00 00開始按秒計算的偏移量 2 struct time 時間元組,共有九個元素組。3 format time 格式化時間...

Python 之time時間模組

一 函式列表 函式及描述 time.altzone 返回格林威治西部的夏令時地區的偏移秒數。如果該地區在格林威治東部會返回負值 如西歐,包括英國 對夏令時啟用地區才能使用。time.asctime tupletime 接受時間元組並返回乙個可讀的形式為 tue dec 11 18 07 14 200...