python06-模塊(一)

模塊

模塊分類

  • 自定義模塊
  • 內置模塊
  • 第三發(fā)模塊
# 內置模塊
userName = input('please input your name:')
passWord = getpass.getpass('please input your password:')
print(userName, passWord)

模塊概述

  • 并不需要所有功能都自己完成喊儡,引用別人的模塊來實現(xiàn)已有的功能
  • python有非常豐富的庫文件敬察,內置300多個庫
  • 一個庫文件包含多個模塊

python常用的模塊

  • time:作為時間戳,時間轉換,休眠等

    • time.sleep(second):休眠
    • time.time():時間戳
    • time.ctime:字符串格式時間
    • time.ctime(time):格式化時間
    • time.gmtime():年月日時分秒分開的對象
    import time
    
    timeNow = time.time()
    print(timeNow)  # 從1970年1月1日到現(xiàn)在過了多少秒
    
    ctime = time.ctime()
    print(ctime)  # Tue May  2 19:12:08 2017
    
    ctime = time.ctime(timeNow - 60 * 60 * 24)
    print(ctime)  # Tue May  2 19:10:35 2017
    
    gmtime = time.gmtime()
    print(gmtime)
    # time.struct_time(tm_year=2017, tm_mon=5, tm_mday=2, tm_hour=11, tm_min=19, tm_sec=44, tm_wday=1, tm_yday=122, tm_isdst=0)
    print('%s-%s-%s' % (gmtime[0], gmtime[1], gmtime[2])) # 2017-5-2
    
    localtime = time.localtime()
    print(localtime)
    # time.struct_time(tm_year=2017, tm_mon=5, tm_mday=2, tm_hour=19, tm_min=37, tm_sec=26, tm_wday=1, tm_yday=122, tm_isdst=0)
    localtime = time.localtime(time.time())
    print(localtime) # 同上
    
    mktime = time.mktime(time.localtime())
    print(mktime) # 將時間對象轉為時間戳
    
    print(time.strftime('%Y-%m-%d %H-%M-%s', time.localtime())) # 格式化
    print(time.strptime('2016-01-08', '%Y-%m-%d')) # 將時間轉時間對象
    
  • datatime:

import datetime
import time

print(datetime.datetime.today(), 'today') # 2017-05-03 09:34:41.340311 today
print(datetime.datetime.fromtimestamp(time.time()), 'from time stamp') # 2017-05-03 09:34:41.340482 from time stamp
print(datetime.datetime.now(), 'now') # 2017-05-03 09:34:41.340503 now
# 以后常用到的方法:
data = datetime.datetime.now() - datetime.timedelta(days=10) # 前10天
print(data)
  • sys:關于python解析器的一些操作

    • sys.argv:terminal執(zhí)行python文件時帶的參數(shù)
      • 使用場景:獲取解析器解析py文件時傳入的參數(shù),根據(jù)不同的參數(shù)執(zhí)行不同的函數(shù),以后經(jīng)常用作執(zhí)行腳本
      • 多個參數(shù)之間用空格分開,argv最少有一個參數(shù)环形,默認為文件名.py
    • sys.path:庫/模塊文件的搜索路徑,默認先在自己項目里面搜衙傀,然后再去內置模塊里搜抬吟,最后去第三發(fā)模塊下搜(site-package)
      • 不在同一個目錄下的模塊不能導入,如果想像內置模塊那樣引用统抬,在哪個位置都可以倒入火本,則可以把py文件放在site-package文件夾下
      • 或者將py文件的路徑添加到sys.path(列表)里面
    • sys.exit(num) # 0==正常退出
    • sys.maxint():最大整數(shù)
    • sys.version:python解析器版本
    • sys.platform:平臺版本
    • sys.stdout.write():向屏幕輸出危队,進度條
    import sys
    import time
    def showProgress(cur, total):
        time.sleep(0.1)
        sys.stdout.write("\r%4d%% %s"%(100 if cur == total -1 else cur * 100 // total, '-' * cur))
    
    total = 100
    for i in range(total):
        showProgress(i, total)
    
  • pickle

    • 我們把數(shù)據(jù)存儲在字典(dict)里便于管理,當我們想要把字典里的數(shù)據(jù)持久化(保存到本地)時钙畔,python不支持直接把字典寫到文件里茫陆,會報錯:
    dic = {
        'name':'yhh',
        'age':'25',
        'gender':'nan'
    }
    
    with open('xxx.txt', mode='w') as file:
        file.write(dic) # TypeError: write() argument must be str, not dict
    
    print('finish')
    
    • 此時我們需要借助python的pickle模塊將字典進行序列化和反序列化
    import pickle
    
    dic = {
        'name':'yhh',
        'age':'25',
        'gender':'nan'
    }
    
    with open('xxx.txt', mode='rb') as file:
        p = pickle.dumps(dic)
        file.write(p)
    
    with open('xxx.txt', mode='rb') as file:
        b = file.read()
        dic = pickle.loads(b)
        print(dic) # {'age': '25', 'name': 'yhh', 'gender': 'nan'}
    
    • pickle的方法:

      • load():直接讀取文件
      • loads():從內存中讀取字節(jié)內容(先從文件中讀取,再傳入load方法中)
      • dump():直接寫到文件里
      • dumps():先轉換成字節(jié)擎析,然后自己手動寫入文件里面
      with open('xxx.txt',mode='wb') as file:
          pickle.dump(dic, file)
      
  • json

    • 和pickle一樣是操作字典簿盅,但是不一樣的是dumps的到的結果是json字符串,而不是序列化后的字節(jié)
    • josn和pickle用的api一樣
    import json
    dic = {
        'name':'yhh',
        'age':'25',
        'gender':'nan'
    }
    jsonStr = json.dumps(dic)
    print(jsonStr) # {"gender": "nan", "name": "yhh", "age": "25"}
    
  • json和pickle區(qū)別

    • json一般用于網(wǎng)絡通信的json字符串和dict對象之間的轉換揍魂,dict對象便于修改和獲取數(shù)據(jù)
    • pickle用于數(shù)據(jù)的序列化和用于持久化
    • json不是所有的格式都可以轉換挪鹏,例如時間格式轉換的時候會報錯,必須是嚴格的json格式
    • pickle對于任何格式的數(shù)據(jù)都可以序列化愉烙,比json強大,但是數(shù)據(jù)不能進行網(wǎng)絡通信

安裝外部框架

  • 在python安裝目錄下解取,cd script
  • pip.exe install django
  • pip.exe uninstall django
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末步责,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子禀苦,更是在濱河造成了極大的恐慌蔓肯,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,884評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件振乏,死亡現(xiàn)場離奇詭異蔗包,居然都是意外死亡,警方通過查閱死者的電腦和手機慧邮,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,755評論 3 385
  • 文/潘曉璐 我一進店門调限,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人误澳,你說我怎么就攤上這事耻矮。” “怎么了忆谓?”我有些...
    開封第一講書人閱讀 158,369評論 0 348
  • 文/不壞的土叔 我叫張陵裆装,是天一觀的道長。 經(jīng)常有香客問我倡缠,道長哨免,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,799評論 1 285
  • 正文 為了忘掉前任昙沦,我火速辦了婚禮琢唾,結果婚禮上,老公的妹妹穿的比我還像新娘桅滋。我一直安慰自己慧耍,他們只是感情好身辨,可當我...
    茶點故事閱讀 65,910評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著芍碧,像睡著了一般煌珊。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上泌豆,一...
    開封第一講書人閱讀 50,096評論 1 291
  • 那天定庵,我揣著相機與錄音,去河邊找鬼踪危。 笑死蔬浙,一個胖子當著我的面吹牛,可吹牛的內容都是我干的贞远。 我是一名探鬼主播畴博,決...
    沈念sama閱讀 39,159評論 3 411
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼蓝仲!你這毒婦竟也來了俱病?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 37,917評論 0 268
  • 序言:老撾萬榮一對情侶失蹤袱结,失蹤者是張志新(化名)和其女友劉穎亮隙,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體垢夹,經(jīng)...
    沈念sama閱讀 44,360評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡溢吻,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,673評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了果元。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片促王。...
    茶點故事閱讀 38,814評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖而晒,靈堂內的尸體忽然破棺而出硼砰,到底是詐尸還是另有隱情,我是刑警寧澤欣硼,帶...
    沈念sama閱讀 34,509評論 4 334
  • 正文 年R本政府宣布题翰,位于F島的核電站,受9級特大地震影響诈胜,放射性物質發(fā)生泄漏豹障。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 40,156評論 3 317
  • 文/蒙蒙 一焦匈、第九天 我趴在偏房一處隱蔽的房頂上張望血公。 院中可真熱鬧,春花似錦缓熟、人聲如沸累魔。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽垦写。三九已至吕世,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間梯投,已是汗流浹背命辖。 一陣腳步聲響...
    開封第一講書人閱讀 32,123評論 1 267
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留分蓖,地道東北人尔艇。 一個月前我還...
    沈念sama閱讀 46,641評論 2 362
  • 正文 我出身青樓,卻偏偏與公主長得像么鹤,于是被迫代替她去往敵國和親终娃。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,728評論 2 351

推薦閱讀更多精彩內容