一、模塊與包
模塊,在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))
結果:

