標籤:python 產生器 運算式 空間 start
yield
yield的語句形式 yield 1
yield的運算式形式 x=yield
運算式形式的yield,協程函數
def eater(name): print(‘%s ready to eat‘ %name) while True: food yield print(‘%s start to eat %s‘%(name,food))g=eater(‘Tom‘) #製作產生器next(g) #產生器初始化,執行時碰到yield暫停,相當g.send(None)g.send(‘黃燜雞‘) #在暫停處繼續運行,將值傳給food
功能
x=yield
g.send(‘111‘),先把111傳給yield,由yield賦值給x
然後再往下執行,知道再次碰到yield停止,然後把yield後的傳回值返回
匯入包
包是包含有init.py檔案的目錄
包的用途:是從目錄級組織模組
包相當於一個模組,本質還是給使用者
匯入模組乾的事情
產生新的名稱空間
以建立的名稱空間為全域名稱空間,執行模組中的代碼
拿到模組名,指向該模組差生的名稱空間
if
name == ‘
main‘
此時當做指令碼執行 將需要執行的部分和需要被匯入的部分分開
模組搜尋路徑
常用模組time
json
json便捷操作
序列化 import json dic={ ‘go‘:‘die‘, ‘hehe‘:‘哈哈‘, } json.dump(dic,open(‘b.json‘,‘w‘)) #直接開啟檔案寫入
還原序列化
res=json.load(open(‘b.json‘,‘r‘)) #直接開啟json檔案 print(res,type(res))
pickle只支援python這種語言os & sys
`import osprint(os.getcwd()) #當前所在目錄print(os.listdir()) #目前的目錄下檔案print(os.name)print(os.path.abspath(‘‘))print(os.path.getsize(r‘C:\Users\Administrator\PycharmProjects\17\day6‘))print(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) #取出目錄名字`import sys,timeprint(sys.argv) # list形式取出當前絕對路徑形式的名字print(sys)for i in range(50): sys.stdout.write(‘%s\r‘ % (‘#‘ * i)) #\r 為移動到行首 sys.stdout.flush() #立即重新整理到終端 time.sleep(0.1)
logging模組記錄層級種類,數值越大越嚴重,從數值小的開始匹配
CRITICAL = 50
FATAL = CRITICAL
ERROR = 40
WARNING = 30
WARN = WARNING
INFO = 20
DEBUG = 10
NOTSET = 0
import logging logging.basicConfig(filename=‘access.log‘, format=‘%(asctime)s - %(name)s - %(levelname)s -%(module)s: %(message)s‘, datefmt=‘%Y-%m-%d %H:%M:%S %p‘, level=40, )logging.debug(‘debug‘)logging.info(‘info‘)logging.warning(‘warning‘)logging.error(‘error‘)logging.critical(‘critical‘)
本文出自 “11860872” 部落格,請務必保留此出處http://11870872.blog.51cto.com/11860872/1934046
python常用模組