【Python】python經常使用模塊

1、模塊、包python

什麼是模塊?linux

模塊實質上就是一個python文件,它是用來組織代碼的,意思就是說把python代碼寫到裏面,文件名就是模塊的名稱,test.py test就是模塊名稱。git

什麼是包?sublime-text

包,package本質就是一個文件夾,和文件夾不同的是它有一個__init__.py文件,包是從邏輯上來組織模塊的,也就是說它是用來存放模塊的,若是你想導入其餘目錄下的模塊,那麼這個目錄必須是一個包才能夠導入。dom

導入模塊spa

導入模塊的本質,就是把python文件拿過來執行一次。unix

使用包中的模塊須要在__init__.py文件中from *** import xxxcode

2、OS模塊orm

  window 路徑分隔符\, linux或MAC  路徑分隔符  /,'\\'其中一個爲轉義符,r'絕對路徑/文件名'裏面的路徑分隔符不用加轉義符,r'純文本'blog

import os print(os.getcwd())#獲取當前的路徑 os.mkdir('wy')#當前目錄下建立文件夾 os.mkdir('e:\\wangyang')#絕對路徑下建立文件夾 os.makedirs('zz')#當前目錄建立文件夾或按照絕對路徑建立 #建立兩級目錄 os.mkdir('stu\\laowang')#父目錄不存在會報錯 os.makedirs('stu\\laowang')#父目錄不存在的時候會幫你建立父目錄 os.listdir(r'e:')#獲取某個路徑下的文件 os.listdir('.')#當前目錄下的文件,返回值是list,將全部的文件放在一個list os.rmdir('stus')#只能刪除空文件夾
print(os.path.join('stu','a.txt'))#根據當前系統,拼接路徑,他會自動識別路徑分隔符stu\a.txt print(os.sep)#當前系統的路徑分隔符,window--\,linux\MAC--/ print(os.path.dirname('e:\\nhy\\stu\\a.txt'))#獲取父目錄的路徑e:\nhy\stu,根據你所傳參數爲準,以參數做爲整個路徑 print(os.path.getsize('stu\\test0\\a.txt'))#獲取文件的大小 print(os.path.exists('user/local'))#判斷文件或者文件夾,是否存在,若是不存在返回false,若是存在返回true print(os.path.isdir('stu'))#判斷是不是文件夾,若是文件夾不存在返回false print(os.path.isfile('stu\\test0\\a.txt'))#判斷是不是文件,若是文件不存在返回false print(os.path.split(r'.\stu\test0\a.txt'))#分割文件名與路徑,結果爲:('.\\stu\\test0', 'a.txt')
os.walk(r'.\logs')#返回這三個信息:目錄、目錄包含的文件夾列表、目錄包含的文件列表 for cur,dir,f in os.walk(r'.\stu'): print(cur,dir,f)#cur爲當前目錄,dir爲目錄包含的全部文件夾,f爲目錄包含的全部文件

練習:

#當前目錄下,在末尾是偶數的文件夾中,建立一個a.txt文件,裏面隨便寫點東西 dirs = os.listdir('.') for i in dirs: if int(i[-1])%2==0: with open(r'.\stu\%s\a.txt'%i,'a+',encoding='utf-8') as file: file.write('wangyang奮鬥奮鬥')

3、random模塊

    import random print(random.random())#隨機浮點數,默認取0-1,不能指定範圍,eg.0.5963688623020358 print(random.randint(1,20))#隨機整數 print(random.randrange(1,20))#隨機產生一個range print(random.choice('x23serw4'))#隨機取一個元素 print(random.sample('hello',2))#從序列中隨機取幾個元素 print(random.uniform(1,9))#隨機取浮點數,能夠指定範圍 x = [1,2,3,4,6,7] random.shuffle(x)#洗牌,打亂順序,會改變原list的值 print(x)

4、date、datetime模塊

時間戳 從unix元年開始到如今過得秒數,格式好時間2018-07-01
print(time.time())#獲取當前時間戳, print(int(time.time()))#獲取當前時間戳,整型 print(time.strftime('%Y-%m-%d %H:%M:%S'))#2018-07-01 17:03:07 Y四位年 print(time.strftime('%y-%m-%d %H:%M:%S'))#18-07-01 17:03:07 y兩位年 print(int(time.time())-10*24*60*60)#追溯到10天前,返回值爲時間戳
print(time.mktime(time_tuple))#時間元組轉爲時間戳
時間元組 print(time.gmtime())#把時間戳轉爲元組,若是不傳時間戳,那麼取得是標準時區的時間 print(time.localtime())#把時間戳轉爲元組,若是不傳時間戳,那麼取得是當前時區的時間 print(time.localtime(int(time.time())-3*24*60*60))#把時間戳轉爲元組,傳時間戳,獲取三天前的時間元組 print(time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(int(time.time())-3*24*60*60)))#將時間元組格式化,format爲必需參數,時間元組爲默認參數,默認爲None

執行結果爲:

時間戳:
1530871998.5078156
1530871998
2018-07-06 18:13:18
18-07-06 18:13:18
1530007998 時間元組: time.struct_time(tm_year=2018, tm_mon=7, tm_mday=6, tm_hour=10, tm_min=13, tm_sec=18, tm_wday=4, tm_yday=187, tm_isdst=0) time.struct_time(tm_year=2018, tm_mon=7, tm_mday=6, tm_hour=18, tm_min=13, tm_sec=18, tm_wday=4, tm_yday=187, tm_isdst=0) time.struct_time(tm_year=2018, tm_mon=7, tm_mday=3, tm_hour=18, tm_min=13, tm_sec=18, tm_wday=1, tm_yday=184, tm_isdst=0) 2018-07-03 18:13:18
時間戳轉格式化好的時間     
1.首先要把時間戳轉成時間元組
2.再把時間元組轉成格式好的時間 def timestampToStr(timestamp=None,format='%Y-%m-%d %H:%M:%S'): if timestamp: time_tuple = time.localtime(timestamp) # 時間戳轉成時間元組 return time.strftime(format,time_tuple) #時間元組,經過format格式轉爲格式化好的時間 return time.strftime(format)#若是沒有傳遞時間元組,則默認格式化當前時間 print(timestampToStr(2234123120,'%Y%m%d')) print(timestampToStr(format='%Y%m%d'))
結果爲:20401018 20180706
格式化好的時間,轉爲時間戳     1.首先要把格式化好的時間,轉成時間元組 2.再把時間元組轉成時間戳 def strToTimestamp(format_time=None,format='%Y%m%d%H%M%S'): if format_time: time_tuple = time.strptime(format_time, format)#將格式化好的時間轉換爲時間元組,格式化好的時間格式必須和format格式一致 print(time_tuple) return int(time.mktime(time_tuple))#將時間元組轉爲時間戳 return int(time.time())#獲取當前時間戳整型 print(strToTimestamp('20401018054520','%Y%m%d%H%M%S')) 結果爲: time.struct_time(tm_year=2040, tm_mon=10, tm_mday=18, tm_hour=5, tm_min=45, tm_sec=20, tm_wday=3, tm_yday=292, tm_isdst=-1) 2234123120

 

5、string模塊

import string#先引入包才能使用 print(string.ascii_letters)#打印出全部的字母大小寫abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ print(string.ascii_lowercase)#打印出全部的字母小寫abcdefghijklmnopqrstuvwxyz print(string.ascii_uppercase)#打印出全部的字母大寫ABCDEFGHIJKLMNOPQRSTUVWXYZ print(string.digits)#打印出全部的數字 print(string.punctuation)#打印出全部的特殊字符 print(string.printable)#打印出所有
相關文章
相關標籤/搜索