<--目錄-->java
模塊和模塊的經常使用方法python
函數式編程mysql
yieldlinux
三元運算正則表達式
Lambda表達式sql
內置涵數shell
經常使用模塊數據庫
【模塊和模塊的經常使用方法】
相當重要的__init__.py #包必定要有這個__init__.py文件,他纔是包,這樣才能經過form 包名 import 模塊名(.py文件名)來去引用這個包的某個模塊的某個函數功能編程
判斷是否爲主文件:__name__
if __name__ == '__main__'
當前文件路徑: __file__json
當前文件描述: __doc__
1)if __name__ == '__main__'
例子1:
在main的包下面,有着index模塊
在file的包下面,有着demo模塊
cat index.py
#!/usr/bin/env python
#coding:utf-8
print __name__
python index.py
print __main__
cat demo.py
#!/usr/bin/env python
#coding:utf-8
print __name__
python demo.py
print __main__
例子2:
cat index.py
#!/usr/bin/env python
#coding:utf-8
from file import demo
print 'index',__name__
cat demo.py
#!/usr/bin/env python
#coding:utf-8
print 'demo',__name__
def Foo():
print "老狗去砍柴"
python index.py
demo,file.demo
index,__main__
總結:經過if __name__ == '__main__':
來判斷當前這個.py腳本是否是主程序,若是是主程序就執行,好處就是當***來***的時候,來調用個人主程序他調用不上
2)當前文件路徑: __file__
3)當前文件描述: __doc__
例子:
[root@localhost opt]# pwd;ls
/opt/
test.py
cat
test.py
#!/usr/bin/env python
#coding:utf-8
'''
This is g
test
@author:wsyht
'''
4)print __file__ #查看當前文徑路徑
5)print __doc__ #查看模塊(.py文件)的註釋
[root@localhost opt]# python test.py test.py
This is g test@author:wsyht
【函數式編程】
參數 def Fun(arg,*args,**kargs):
默認參數 print arg
可變參數 print args
print kargs
返回值 return 'success'
1)默認參數和返回值示例
例子1:
def foo(name):
print name,'去砍柴'
foo('wsyht')
foo('jenkins')
foo('peter')
例子2:
def login(username):
if username == "wsyht":
return '登錄成功'
else:
return '登錄失敗'
def detail(user):
print user,'驗證成功'
if __name__ == '__main__':
user= raw_input('請輸入用戶名:')
res = login(user) #檢查用戶是否登錄成功
if res == "登錄成功"
detail(user) #顯示詳細信息
else:
print "沒獎金了"
例子3:
def foo(name,action='砍柴',where=''): 設置默認值=砍柴,能夠加多個默認參數,但默認參數的必定要放在最後面
print name,'去',action,where
foo('wsyht','砍柴')
foo('jenkins','吃飯') #不設置第二個值,就會使用設置好的默認參數"砍柴"
foo('peter',where='上海') #默認按位置傳參,指定where='上海',就是能夠不用按順序傳,給他的值就是上海,無論上面where的位置在哪
foo('jim',where='上海',action="oo") #默認按位置傳參,指定where='上海',就是能夠不用按順序傳,給他的值就是上海,無論上面where的位置在哪
2)可變參數示例
例子4:
#!/usr/bin/env Python
#coding:utf-8
'''
def show1(arg):
for item in arg:
print item
def show2(arg1,arg2):
print arg1,arg2
#show1(['Lyang','wsyht'])
show2('Liyang','zhangsan')
def show(*arg): #加一個*你就能夠加N個參數
for item in arg:
print item
show('wsyht','tom','peter','jenkins','jack')
'''
'''
def show(**kargs):
for item in kargs.items():
print item
show(name='wsyht',age='26')
'''
#以元組方式傳進去
def show(**kargs):
for item in kargs.items():
print item
user_dict={'k1':123,'k2':456}
show(**user_dict) #元組方式傳進去前面要加兩個*
【yield的使用】
代碼示例1:
#!/usr/bin/env python
#coding:utf-8
'''
print range(10)
print xrange(10)
for item in xrange(10): #便 利才生成數字
print item
'''
def foo():
yield 1 #eclipse上打上斷點,debug測試
yield 2
yield 3
yield 4
yield 5
re = foo()
#print re #調用的是生成器
for item in re: #便利的時候才能使用re
print item
代碼示例2:
#!/usr/bin/env python
#coding:utf-8
def WsyhtReadlines():
seek = 0
while True:
with open('F:/wsyht.txt','r') as f:
f.seek(seek)
data = f.readline() #讀取一行
if data:
seek = f.tell()
yield data
else:
return #若是return了,那麼整個函數將退出
#print WsyhtReadlines() #這樣輸出就是一個生成器
for item in WsyhtReadlines():
print item
'''
f = open('d:/temp.txt,'r')
f.read()
f.close()
with open('d:/temp.txt','r') as f: #這樣寫就不須要再對文件close了
print 'xxxx'
print 'ok'
'''
【三元運算和Lambda表達式】
1)三元運算
代碼實例:
result = 'gt' if 1>3 else 'lt'
print result
例子:
#!/usr/bin/env python
#coding:utf-8
temp = None
if 1>3:
temp = 'gt'
else:
temp = 'lt'
print temp
#上面方法實現跟下面代碼方法實現效果同樣
result = 'gt' if 1>3 else 'lt'
print result
2)Lambda表達式
代碼實例:
a = lambda x,y:x+y
print a(4,10)
例子:
#!/usr/bin/env pythondef foo(x,y): return x+yprint
foo(16,10)
temp = lambda x,y:x+y
print temp(16,10)
'''temp = lambda x:x*x
print temp(4)''''''temp = lambda x,y,z:x+y+z
print temp(1,3,5)'''
其它示例:>>> [i*2 for i in range(10)] [0, 2, 4, 6, 8, 10, 12,
14, 16, 18]f>>> map(lambda x:x*2, range(10))[0, 2, 4, 6, 8, 10,
12, 14, 16, 18]>>> map(lambda x:x**x, range(10)) [1, 1, 4, 27,
256, 3125, 46656, 823543, 16777216, 387420489]>>>
【內置函數】
help() #查看幫助
dir() #把相應的key列出來,全部的內置函數
vars() #列出全部key和Values,全部的內置函數
type() #查看類型
import temp #導入模塊
reload(temp) #重複導入模塊
id() #查看內存地址
#help,dir(),vars(),type()演示
>>> a = []
#它是一個類,調用一個類來建立類表
>>> a1 = list()
>>> help(a)
#查看幫助
>>> print dir() #把相應的key列出來,全部的內置函數
>>> print
vars() #列出全部key和Values,全部的內置函數
>>> print type(a)
#查看類型
>>> print type(a1) #查看類型
#reload(demo)演示
#file包下有一個demo.py模塊文件
#main包下有一個index.py文件
#cat demo.py
#!/usr/bin/env python
#coding:utf-8
print 'demo.py'
#python index.py
#python index.py
#!/usr/bin/env python
#coding:utf-8
from file import demo #當導入的時候就會執行一篇demo模塊裏面的全部代碼
#from file import demo #Python下再用重複的代碼導入相同的模塊是不會導入的,他只導入一次
#若是想導兩次,就要用reload(demo)
from file import demo
reload(demo)
#id演示,查看所佔用的內存空間
>>> t1=123
>>>
t2=888
>>> print id(t1)
28244048
>>> print
id(t2)
28560048
cmp() 判斷先後值大小,前大-1,後大1,同大0
abs() 求覺對值
bool() 0爲False,其它爲True
divmod() 求商取餘
man() 求最大值
min() 求最小值
sum() 求和
pow() 求次方
>>> cmp(2,3) #後面大負1
-1
>>>
cmp(5,3) #前面大正1
1
>>> cmp(5,5) #等大出零
0
>>>
print abs(-9) #求覺對值
9
>>> print bool(0)
#求布爾值
False
>>> print bool(1)
True
>>> print
bool(15)
True
>>> print bool(-3)
True
>>> print
divmod(9,4) #求商取餘
(2, 1)
>>> print divmod(14,4)
(3,
2)
>>> print divmod(15,3)
(5, 0)
>>> print
max([11,22,33,333]) #求最大值
333
>>> print min([11,22,33,333])
#求最小值
11
>>> print sum([11,22,33]) #求和
66
>>>
print pow(2,3)
#2的3次方
8
all() 一假則假,全真才真
any() 一真則真,全假才假
>>> print all([1,2,3,0])
#一假則假
False
>>> print all([1,2,3,1])
#全真則真
True
>>> print any([0,0,0,0])
#全假則假
False
>>> print any([1,0,0,0])
#一真則真
True
>>> print any([1,2,3,1])
True
>>> print
bool('')
False
>>> print bool(None)
False
chr() ASCALL碼對應的字符 #必須記住
ord() ASCALL碼對應的數字 #必須記住
hex() 十六進制轉換
oct() 八進制轉換
bin() 二進制轉換
>>> print chr(65)
#ASCALL碼對應的字符
A
>>> print chr(66)
B
>>> print
chr(67)
C
>>> print chr(68)
D
>>> print chr(69)
E
>>> print ord('A') #ASCALL碼對應的數字
65
>>> print
ord('B')
66
>>> print hex(2000)
#十六進制轉換
0x7d0
>>> print oct(2000)
#八進制轉換
03720
>>> print bin(2)
#二進制轉換
0b10
enumerate() 加序列號 #必須記住
format() 格式化輸出
>>> li = ['手錶','汽車','房']
>>> for item in li:print item
...
手錶
汽車
房
>>> for item in enumerate(li):print item
#enumerate是加序列號
...
(0, '\xe6\x89\x8b\xe8\xa1\xa8')
(1,
'\xe6\xb1\xbd\xe8\xbd\xa6')
(2, '\xe6\x88\xbf')
>>> for item in
enumerate(li,1):print item #括號第二個參數是指起始值
...
(1,
'\xe6\x89\x8b\xe8\xa1\xa8')
(2, '\xe6\xb1\xbd\xe8\xbd\xa6')
(3,
'\xe6\x88\xbf')
>>> for item in enumerate(li,3):print item
...
(3, '\xe6\x89\x8b\xe8\xa1\xa8')
(4, '\xe6\xb1\xbd\xe8\xbd\xa6')
(5,
'\xe6\x88\xbf')
>>> for item in enumerate(li,1):print
item[0],item[1]
...
1 手錶
2 汽車
3 房
>>> s='My Name {0}
{1}'
>>> print s.format('is','wsyht')
My Name is
wsyht
>>> s='My Name {0},{1}'
>>> print
s.format('is','wsyht')
My Name
is,wsyht
#調用函數的兩種方法
def function(arg): print arg
function('wsyht') #第一種調用方法
apply(function,('wsyht')) #執行函數,第二種調用方法,這種應用不普遍,知道就好
#map的使用,全部數進行相加,相減,相乘等
>>> print map(lambda x:x+1,[1,2,3])
#all[2, 3, 4]
>>> li = [11,22,33] #第一種方法>>>
temp=[]>>> for item in li:temp.append(item + 100)...
>>> print temp[111, 122, 133]
>>> def foo(arg):return arg + 100 #第二種方法... >>>
li = [11,22,33]>>> temp=[]>>> for item in
li:temp.append(foo(item))... >>> print temp[111, 122,
133]
>>> def foo(arg):return arg + 100 #使用map的方法...
>>> li = [11,22,33]>>> temp =
map(foo,li)>>> print temp[111, 122, 133]
>>> li = [11,22,33]>>> temp = map(lambda
arg:arg+100,li) #最簡單的map方法把他便利出來>>> print temp[111, 122,
133]
#filter的使用,過濾條件,只有是True序列的,纔會對他進行相加,相減操做
#!/usr/bin/env
python
#coding:utf-8
li = [2,5,11,22,33]
def foo(arg):
if
arg<22:
return True
else:
return False
temp =
filter(foo,li)
print
temp
#reduce的使用,累加,累乘操做
>>> li=[2,5,7]
>>> print
reduce(lambda x,y:x+y,li) #最少要有兩個變量x,y
14
>>> print
reduce(lambda
x,y:x*y,li)
70
#zip的使用,把他們的列表的每一列拼接成一組打印出來
>>> x = [1,2,3]
>>> y =
[4,5,6]
>>> z = [7,8,9]
>>> q = [1,3,5]
>>>
print zip(x,y,z,q)
[(1, 4, 7, 1), (2, 5, 8, 3), (3, 6, 9, 5)]
>>>
q = [1,3,5]
>>> x = [2,4,6]
>>> z = [2,4]
>>> print zip(q,x,z)
[(1, 2, 2), (3, 4,
4)]
#eval的使用
>>> a = '8*8'
>>> print
a
8*8
>>> print eval(a)
64
#反射,__import__()的使用,經過字符串的形式去導入模塊,並以字符串的形式執行函數
附加知識:
getattr() #獲取模塊的函數數
hasattr() #判斷模塊有沒有這個函數
delattr() #刪除這個模塊的某個函數
#查看幫助
#import os
#help(os)
演示1:經過字符串的形式去導入模塊
>>> temp = 'sys'
>>> model =
__import__(temp)
>>> print model.path
['',
'/usr/local/python2.7/lib/python27.zip', '/usr/local/python2.7/lib/python2.7',
'/usr/local/python2.7/lib/python2.7/plat-linux2',
'/usr/local/python2.7/lib/python2.7/lib-tk',
'/usr/local/python2.7/lib/python2.7/lib-old',
'/usr/local/python2.7/lib/python2.7/lib-dynload',
'/usr/local/python2.7/lib/python2.7/site-packages']
#演示2:
main包下有三個模塊,index.py ,mysqlserver.py,sqlserver.py
cat
mysqlserver.py
#!/usr/bin/env python
def count():
return 2
cat sqlserver
#!/usr/bin/env python
def count():
return 2
#index.py例子1,經過字符串的形式去導入模塊
#!/usr/bin/env python
'''
import mysqlserver
print mysqlserver.count()
import sqlserver
print sqlserver.count()
'''
temp = 'mysqlserver' #動態切換模塊,模塊下執行的方法同樣,當一個宕掉了,能夠快速切換,比上述方法方便快速
model = __import__(temp)
model.count()
#index.py例子2,
cat index.py
temp = 'mysqlserver' #模塊名字
func = 'count' #函數名字
model = __import__(temp) #以字符串的形式導入模塊
function = getattr(model,func) #獲取model模塊找func函數
print function() #以字符串的形式執行函數
#val = hasattr(model,'version') #判斷model模塊裏有沒有version這個函數
#print val
#dels = delattr(model,'count') #刪除model模塊裏的count函數
#print dels
#用在開發大型程序,隨時能夠切換數據庫的場景下
【經常使用模塊】
1)random模塊
#random生成驗證碼,生成數字
>>> import random
>>> print random.random() #0到1之間
0.455011787105
>>> print random.random()
0.0645256529981
>>> print random.random()
0.881869685668
>>> print random.randint(1,5) #生成1到5包括1和5
5
>>> print random.randint(1,5)
1
>>> print random.randint(1,5)
3
>>> print random.randint(1,5)
1
>>> print random.randint(1,5)
5
>>> print random.randint(1,5)
1
>>> print random.randint(1,5)
4
>>> print random.randint(1,5)
2
>>> print random.randrange(1,3) #生成1,2但小於3的數
2
>>> print random.randrange(1,3)
2
>>> print random.randrange(1,3)
2
>>> print random.randrange(1,3)
2
>>> print random.randrange(1,3)
2
>>> print random.randrange(1,3)
2
>>> print random.randrange(1,3)
2
>>> print random.randrange(1,3)
1
>>> print random.randrange(1,3)
1
#生成字母
>>> temp = random.randint(65,90)
>>> print chr(temp)
#驗證碼案例:
#!/usr/bin/env python
#coding:utf-8
import random
code = []
for i in range(6):
if i == random.randint(0,5):
code.append(str(random.randint(0,5)))
else:
temp = random.randint(65,90)
code.append(chr(temp))
print ''.join(code)
2)hashlib模塊
#md5加密
>>> import hashlib
>>> hash = hashlib.md5() #建立一個md5()對像,
>>> hash.update('admin') #對像裏有一個update函數,把admin經過md5加密
>>> hash.hexdigest() #輸出十六進制數
'21232f297a57a5a743894a0e4a801fc3'
>>> hash.digest()
'!#/)zW\xa5\xa7C\x89J\x0eJ\x80\x1f\xc3'
3)序列化和json
pickle序列化:能夠把一個對像或一個列表或一個字典經過Python特有的機制序列化,還能夠反序列化
特殊二進制的方式加密一下,
>>>import pickle
>>>li = ['wsyht',11,22,'ok','yes']
>>>dumpsed = pickle.dumps(li) #序列化
>>>print dumpsed
>>>print type(dumpsed) #查看類型已經序列化成字符串
>>>loadsed = pickle.loads(dumpsed) #反序列化
>>>print loadsed
>>>print type(loadsed) #查看類型又反序列化成了列表
#!/usr/bin/env python
import pickle
li = ['wsyht',11,22,'ok','yes']
pickle.dump(li,open('f:/temp.txt','w')) #序列化到文件
應用場景:在Python和Python之間文件傳輸的時候給他序列化,內存之間數據交互
pickle和json的區別
pickle只能在Python中用
json是全部的語言都支持的數據接口格式,java和python想在內存之間作數據交互就要用json不然用pickle便可
pickle全部數據類型均可以序列化,
json他只能去序列化常規的數據類型
>>> import json
>>> name_dic = {'name':'wsyht','age':23}
>>> json.dumps(name_dic)
'{"age": 23, "name": "wsyht"}'
>>> serialized_obj = json.dumps(name_dic)
>>> json.loads(serialized_obj)
{u'age': 23, u'name': u'wsyht'}
>>> import pickle
>>> pickle.dumps(name_dic)
"(dp0\nS'age'\np1\nI23\nsS'name'\np2\nS'wsyht'\np3\ns."
#pickle序列化以後看不清裏面的內容
#json序列化以後能夠看清裏面的內容
4)os模塊
os.getcwd() 獲取當前工做目錄,即當前python腳本工做的目錄路徑
os.chdir("dirname") 改變當前腳本工做目錄;至關於shell下cd
os.curdir 返回當前目錄: ('.')
os.pardir 獲取當前目錄的父目錄字符串名:('..')
os.makedirs('dirname1/dirname2') 可生成多層遞歸目錄
os.removedirs('dirname1') 若目錄爲空,則刪除,並遞歸到上一級目錄,如若也爲空,則刪除,依此類推
os.mkdir('dirname') 生成單級目錄;至關於shell中mkdir dirname
os.rmdir('dirname') 刪除單級空目錄,若目錄不爲空則沒法刪除,報錯;至關於shell中rmdir dirname
os.listdir('dirname') 列出指定目錄下的全部文件和子目錄,包括隱藏文件,並以列表方式打印
os.remove() 刪除一個文件
os.rename("oldname","newname") 重命名文件/目錄
os.stat('path/filename') 獲取文件/目錄信息
os.sep 輸出操做系統特定的路徑分隔符,win下爲"\\",Linux下爲"/"
os.linesep 輸出當前平臺使用的行終止符,win下爲"\t\n",Linux下爲"\n"
os.pathsep 輸出用於分割文件路徑的字符串
os.name 輸出字符串指示當前使用平臺。win->'nt'; Linux->'posix'
os.system("bash command") 運行shell命令,直接顯示
os.environ 獲取系統環境變量
os.path.abspath(path) 返回path規範化的絕對路徑
os.path.split(path) 將path分割成目錄和文件名二元組返回
os.path.dirname(path) 返回path的目錄。其實就是os.path.split(path)的第一個元素
os.path.basename(path) 返回path最後的文件名。如何path以/或\結尾,那麼就會返回空值。即os.path.split(path)的第二個元素
os.path.exists(path) 若是path存在,返回True;若是path不存在,返回False
os.path.isabs(path) 若是path是絕對路徑,返回True
os.path.isfile(path) 若是path是一個存在的文件,返回True。不然返回False
os.path.isdir(path) 若是path是一個存在的目錄,則返回True。不然返回False
os.path.join(path1[, path2[, ...]]) 將多個路徑組合後返回,第一個絕對路徑以前的參數將被忽略
os.path.getatime(path) 返回path所指向的文件或者目錄的最後存取時間
os.path.getmtime(path) 返回path所指向的文件或者目錄的最後修改時間
5)sys模塊
sys.argv 命令行參數List,第一個元素是程序自己路徑
sys.exit(n) 退出程序,正常退出時exit(0)
sys.version 獲取Python解釋程序的版本信息
sys.maxint 最大的Int值
sys.maxunicode 最大的Unicode值
sys.path 返回模塊的搜索路徑,初始化時使用PYTHONPATH環境變量的值
sys.platform 返回操做系統平臺名稱
sys.stdout.write('please:')
val = sys.stdin.readline()[:-1]
print val
6)re模塊
compile
match search findall
group groups
正則表達式經常使用格式:
字符:\d \w \t .
次數:* + ? {m} {m,n}
示例:
#!#/usr/bin/env python
#coding:utf-8
import re
result1 = re.match('\d+', '1afsfweasfcxvsfd123') #在你給的字符串起始位置去匹配,\d從數字開始找,+表示一個到多個
if result1: #當result1等於True的時候,就是匹配,若是匹配就輸出裏面的內容
print result1.group() #用group方法把他匹配的內容輸出出來
else:
print 'nothing'
result2 = re.search('\d+', 'alsfj3af') #在整個內容裏面去匹配,\d從數字開始找,+表示一個到多個
if result2:
print result2.group() #用group方法把他匹配的內容輸出出來
result3 = re.findall('\d+', 'asfaf11sf22lj33') #只要匹配全都拿出來
print result3
com = re.compile('\d+')
print com.findall('asfaf11sf22lj33')
result5 = re.search('(\d+)\w*(\d+)','aasflsjfa12aaljsf22lj13bb')
print result5.group() #全部匹配內容輸出
print result5.groups() #只把括號\d,也就是組裏面的內容輸出
result6 = re.search('a{3,5}','aaaaaa') #匹配3到5次的aaaaa輸出出來
print result6.group()
總結:
match:只在第一個字符串開始找,若是沒有匹配,則再也不繼續找,若是第一個字符串中有,則只輸出第一個
searh: 在全部內容裏找,直到找到爲止,但只輸出找到的第一個
findall:把全部找到的匹配的內容,都經過列表的形式打印出來
compile: 編譯以後再去匹配,這樣能夠加快匹配的速度
group: 把他匹配的內容輸出出來
groups:分組
匹配的字符:
\d:表示數字的意思
\w: 表明下劃線,字母,數字
\t:製表符,除了回車之外的全部字符
匹配的次數:
* 大於等於0,0到多個
+ 大於等於1,1個到多個
? 0或1
{m} 次數,如a{6},出現6次a的進行匹配
{m,n} 如a{3,7} 出現3到7次的就進行匹配
例子1:
法1
>>> ip = '12.23.84.dsfa.23s.3234~lsjfw+23sfaf192.168.32.43_w342d~@#9436'
>>> import re
>>> re.findall('[0-9]{1,3}',ip)
['12', '23', '84', '23', '323', '4', '23', '192', '168', '32', '43', '342', '943', '6']
>>> re.findall('[0-9]{1,3}\.[0-9]{1,3}',ip)
['12.23', '192.168', '32.43']
>>> re.findall('[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}',ip)
['12.23.84', '192.168.32']
>>> re.findall('[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}',ip)
['192.168.32.43']
法2:
>>> re.findall('(\d+)',ip)
['12', '23', '84', '23', '3234', '23', '192', '168', '32', '43', '342', '9436']
>>> re.findall('(\.+\d+){1,3}',ip)
['.84', '.23', '.3234', '.43']
>>> re.findall('(?:\.+\d+){1,3}',ip) #?:表示匹配括號的那一組數據,必須連着
['.23.84', '.23', '.3234', '.168.32.43']
>>> re.findall('[0-9]{1,3}(?:\.+\d+){3}',ip)
['192.168.32.43']
法3:
>>> re.findall('(?:\d+\.+){3}\d{1,3}',ip)
['192.168.32.43']
法4:
>>> re.findall('(?:\d{1,3}\.){3}\d{1,3}',ip)
['192.168.32.43']
7)time模塊
三種表示主式:
一、時間戳 1970年1月1往後的秒
二、元組包含了:年、日、星期等...time.struct_time
三、格式化的字符串 2014-11-11 11:11 print time.time()
#時間戳形式存在
print time.time()
print time.mktime(time.localtime()) #print (time.localtime())此爲元組形式,這一整句意思是把元組形式轉化成時間戳形式
#元組形式存在
print time.gmtime() #可加時間戳參數
print time.localtime() #可加時間戳參數
print time.strptime('2014-11-11','%Y-%m-%d') #字符串形式轉換成元組形式
#字符串形式存在
print time.strftime('%Y-%m-%d') #默認當前時間,必須記住,工做中用得最多
print time.strftime('%Y-%m-%d',time.localtime()) #默認當前時間
print time.asctime()
print time.asctime(time.localtime())
print time.ctime(time.time())
時間的三種表示方式演示
>>> import time
>>> print time.time()
1469014348.5 #秒,時間戳的方式
>>> print time.gmtime()
time.struct_time(tm_year=2016, tm_mon=7, tm_mday=20, tm_hour=11, tm_min=25, tm_sec=53, tm_wday=2, tm_yday=202, tm_isdst=0)
>>> print time.strftime('%Y-%m-%d %H:%M:%S')
2016-07-20 19:36:16
8)datetime模塊
import datetime
'''
datetime.date:表示日期的類。經常使用的屬性有year, month, day
datetime.time:表示時間的類。經常使用的屬性有hour, minute, second, microsecond
datetime.datetime:表示日期時間
datetime.timedelta:表示時間間隔,即兩個時間點之間的長度
timedelta([days[, seconds[, microseconds[, milliseconds[, minutes[, hours[, weeks]]]]]]])
strftime("%Y-%m-%d")
'''
import datetime
print datetime.datetime.now()
print datetime.datetime.now() - datetime.timedelta(days=5)
9)shutil模塊
windows系統下使用的模塊
import shutil shutil.copyfile('f:/temp.txt', 'f:/os.txt') #複製文件 shutil.copytree('f:/temp', 'f:/os') #複製目錄