在Python中存儲數據到文件中時,簡單的做法是調用open函數執行文件寫入操作,但是這樣做的話,當我們要重新讀取文件內容時,就會出現類型不匹配的情況,因為讀取的都是字符串的形式,所以還需要進行類型轉換,這樣不簡潔。或者使用eval函數把字符串轉換為對象,但是有時它過于強大,它會執行Python的任何表達式,甚至做出威脅系統正常工作的表達式,這樣做不安全。如果想存儲Python原生對象,但又無法信賴文件的數據來源,那么pickle模塊會是個理想的選擇。pi
系統 2019-09-27 17:55:55 2050
[TOC]代碼示例支持平臺:Centos6.3Python:2.7.14Github:https://github.com/baidu/CUP歡迎關注公眾號進行技術互動和討論:1.1踩坑案例今天的坑不僅包括裸用os.system還包括裸用相關的家族:os.popensubprocess家族subprocess.callsubprocess.Popensubprocess.runcommands家族(py2.6后已不推薦使用,depreciated.Py3刪
系統 2019-09-27 17:55:48 2050
本篇為個人測試記錄,記錄爬取連續一字板的股票及當時日期。importtushareastsimportpandasaspdimporttime#篩選一字板的策略defgp_rules(code):#獲取某只股票的歷史數據data=ts.get_hist_data(code,start='2018-01-01',end='2019-07-26')#排除該時間段無數據的股票ifdataisNone:return#篩選表頭【開盤價,收盤價,漲幅】data_2=d
系統 2019-09-27 17:55:20 2050
pythonredis之連接池的原理轉載地址什么是連接池通常情況下,當我們需要做redis操作時,會創建一個連接,并基于這個連接進行redis操作,操作完成后,釋放連接,一般情況下,這是沒問題的,但當并發量比較高的時候,頻繁的連接創建和釋放對性能會有較高的影響于是,連接池就發揮作用了連接池的原理是,通過預先創建多個連接,當進行redis操作時,直接獲取已經創建的連接進行操作,而且操作完成后,不會釋放,用于后續的其他redis操作這樣就達到了避免頻繁的red
系統 2019-09-27 17:55:12 2050
有一些通用的參數,比如axis=0為行,1為列index=指定行,columns=指定列ascending=False倒序,True順序找不到代碼時候試試會有驚喜行列通用通過標簽選擇數據df[[...]]df.loc['']df['']df.loc[indexList,columnList]通過位置選擇數據df[num]df.iloc[indexList,columnList]通過標簽/位置選擇數據df.ix[indexList,columnList][i
系統 2019-09-27 17:55:06 2050
一、python多線程因為CPython的實現使用了GlobalInterpereterLock(GIL),使得python中同一時刻只有一個線程在執行,從而簡化了python解釋器的實現,且python對象模型天然地線程安全。如果你想你的應用程序在多核的機器上使用更好的資源,建議使用multiprocessing或concurrent.futures.processpoolexecutor。但是如果你的程序是IO密集型,則使用線程仍然是很好的選擇。二、p
系統 2019-09-27 17:54:03 2050
PIL提供了通用的圖像處理功能,以及大量的基本圖像操作,如圖像縮放、裁剪、旋轉、顏色轉換等。Matplotlib提供了強大的繪圖功能,其下的pylab/pyplot接口包含很多方便用戶創建圖像的函數。為了觀察和進一步處理圖像數據,首先需要加載圖像文件,并且為了查看圖像數據,我們需要將其繪制出來。fromPILimportImageimportmatplotlib.pyplotaspltimportnumpyasnp#加載圖像img=Image.open("
系統 2019-09-27 17:50:41 2050
Python-類屬性,實例屬性,類方法,靜態方法,實例方法類屬性和實例屬性#coding:utf-8classStudent(object):name='Iamaclassvariable'#類變量>>>s=Student()#創建實例s>>>print(s.name)#打印name屬性,因為實例并沒有name屬性,所以會繼續查找class的name屬性Student>>>print(Student.name)#打印類的name屬性Student>>>s.
系統 2019-09-27 17:50:17 2050
簡單生成器有許多優點。生成器除了能夠用更自然的方法表達一類問題的流程之外,還極大地改善了許多效率不足之處。在Python中,函數調用代價不菲;除其它因素外,還要花一段時間解決函數參數列表(除了其它的事情外,還要分析位置參數和缺省參數)。初始化框架對象還要采取一些建立步驟(據TimPeters在comp.lang.python上所說,有100多行C語言程序;我自己還沒檢查Python源代碼呢)。與此相反,恢復一個生成器就相當省力;參數已經解析完了,而且框架對
系統 2019-09-27 17:49:57 2050
Python的元組與列表類似,不同之處在于元組的元素不能修改。元組使用小括號,列表使用方括號。元組創建很簡單,只需要在括號中添加元素,并使用逗號隔開即可。如下實例:tup1=('physics','chemistry',1997,2000)tup2=(1,2,3,4,5)tup3="a","b","c","d"創建空元組tup1=()元組中只包含一個元素時,需要在元素后面添加逗號tup1=(50,)元組與字符串類似,下標索引從0開始,可以進行截取,組合等。
系統 2019-09-27 17:49:55 2050