python5

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
  •  將一個時間戳轉變爲當地時區的時間元組time.localtime([secs]),secs爲以秒爲單位的參數,當不提供參數時,取本地時間。
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])
  • time.gmtime([secs]):和localtime()方法相似,gmtime()方法是將一個時間戳轉換爲UTC時區(0時區)的struct_time。
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)
  • 有把時間戳變成時間元組的函數,那麼就有把時間元組變爲時間戳的函數time.mktime(t)t是一個有九個元素的元組
import time t=(2016,8,22,13,35,5,0,235,0) print(time.mktime(t))

運行結果:

1471844105.0
  • time.sleep(secs):線程推遲指定的時間運行。單位爲秒。

 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)
相關文章
相關標籤/搜索