1、模塊python
1. 模塊定義、用途windows
模塊就是具備必定功能的程序塊,實質上模塊就是.py格式的文件,每一個文件就是一個模塊。模塊能夠把複雜的程序按功能分開,分別用不一樣的文件名存放。目的是使程序代碼可以重用,也使得程序更便於維護。api
Python模塊分爲三類:(1)內置模塊;(2)第三方模塊;(3)自定義模塊。app
2. 模塊的導入ide
模塊使用前須要先導入,導入的方式經常使用的有:(1)import + [module name],例如要導入os模塊時使用 import os; (2)from [module name] import [function name].函數
有些模塊的名稱很長,能夠導入時,給它從新起個簡單的名字:import [module name ] as other name.ui
3. 包的引用spa
Python的文件有一種組織,就是將幾個功能相近的模塊可組成一個python包,存放到一個目錄結構,經過輸入包的路徑調用包中模塊的變量、函數等。每一個包下面都有個初始化文件__init__.py,該文件能夠爲空,也能夠定義相關代碼。包的引用有三種方式:(1)import [package name]只能使用初始化文件對象;(2)imoport [package name].[module name]可使用引用模塊的對象;(3) from [package name] import [function name]與第二種方式相同,可使用引用模塊的對象。線程
4. 經常使用內置模塊:debug
(1)os 模塊
獲取當前文件的絕對路徑
1 import os 2 base_path=os.path.abspath(__file__) 3 print(base_path)
獲取當前文件的父級目錄絕對路徑
import os base_path=os.path.dirname(os.path.abspath(__file__)) print(base_path)
(2)sys模塊包含了與python解釋器和它的環境有關的函數,這個你能夠經過dir(sys)來查看他裏面的方法和成員屬性
1 import sys 2 print(dir(sys))
運行結果:
['__displayhook__', '__doc__', '__excepthook__', '__interactivehook__', '__loader__', '__name__', '__package__', '__spec__', '__stderr__', '__stdin__', '__stdout__', '_clear_type_cache', '_current_frames', '_debugmallocstats', '_getframe', '_home', '_mercurial', '_xoptions', 'api_version', 'argv', 'base_exec_prefix', 'base_prefix', 'builtin_module_names', 'byteorder', 'call_tracing', 'callstats', 'copyright', 'displayhook', 'dllhandle', 'dont_write_bytecode', 'exc_info', 'excepthook', 'exec_prefix', 'executable', 'exit', 'flags', 'float_info', 'float_repr_style', 'get_coroutine_wrapper', 'getallocatedblocks', 'getcheckinterval', 'getdefaultencoding', 'getfilesystemencoding', 'getprofile', 'getrecursionlimit', 'getrefcount', 'getsizeof', 'getswitchinterval', 'gettrace', 'getwindowsversion', 'hash_info', 'hexversion', 'implementation', 'int_info', 'intern', 'is_finalizing', 'maxsize', 'maxunicode', 'meta_path', 'modules', 'path', 'path_hooks', 'path_importer_cache', 'platform', 'prefix', 'set_coroutine_wrapper', 'setcheckinterval', 'setprofile', 'setrecursionlimit', 'setswitchinterval', 'settrace', 'stderr', 'stdin', 'stdout', 'thread_info', 'version', 'version_info', 'warnoptions', 'winver']
sys.path是一個list,默認狀況下python導入文件或者模塊的話,他會先在sys.path裏找模塊的路徑。若是沒有的話,
程序就會報錯。因此咱們通常本身寫程序的話,最好把本身的模塊路徑給加到當前模塊掃描的路徑裏。
1 import os,sys 2 base_path=os.path.dirname(os.path.abspath(__file__)) 3 sys.path.append(base_path)
(3)time模塊
在Python中時間有三種表示方式:
(1)時間戳:時間戳就是從1970年1月1日00:00:00開始按秒計算的偏移量。;
(2)格式化的時間字符串;
(3)時間元組:包含一個時刻各類狀態的元組, 包括:年,月,日,時,分,秒,第幾周,第幾天,夏令時標示。。
1 import time 2 print(time.time())
運行結果:
1471843632.2690241
import time print(time.localtime())
運行結果:
time.struct_time(tm_year=2016, tm_mon=8, tm_mday=22, tm_hour=13, tm_min=35, tm_sec=5, tm_wday=0, tm_yday=235, tm_isdst=0)
咱們能夠根據偏移找到任何一個須要的量,好比今天是今年的第幾天。 程序以下:
import time print(time.localtime()[7])
import time print(time.gmtime())
運行結果:
ime.struct_time(tm_year=2016, tm_mon=8, tm_mday=22, tm_hour=5, tm_min=39, tm_sec=44, tm_wday=0, tm_yday=235, tm_isdst=0)
import time t=(2016,8,22,13,35,5,0,235,0) print(time.mktime(t))
運行結果:
1471844105.0
strftime() 函數接收以時間元組,並返回以可讀字符串表示的當地時間,格式由參數format決定,time.strftime(format[, t])
1 import time 2 3 strtime = time.strftime("%Y/%m/%d %H:%M:%S",) 4 print(strtime) 5 print(type(strtime))
運行結果:
2016/08/26 11:31:08
<class 'str'>
time strptime() 函數根據指定的格式把一個時間字符串解析爲時間元組。
1 import time 2 3 strtime = time.strftime("%Y/%m/%d %H:%M:%S",) 4 print(strtime) 5 sptime=time.strptime(strtime,"%Y/%m/%d %H:%M:%S") 6 print(sptime)
運行結果:
2016/08/26 11:40:16
time.struct_time(tm_year=2016, tm_mon=8, tm_mday=26, tm_hour=11, tm_min=40, tm_sec=16, tm_wday=4, tm_yday=239, tm_isdst=-1)