原创 python 5-6 tempfile下的TemporaryFile 和 NamedTemporaryFile

python 5-6 tempfile下的TemporaryFile 和 NamedTemporaryFile 解決方案 使用標準庫中的tempfile下的TemporaryFile 和 NamedTemporaryFi

原创 7-2 如何爲創建大量實例節省內存定義類的__slots__屬性,它是用來聲明實例屬性名,sys.getsizeof字的列表

7-2 如何爲創建大量實例節省內存 解決方案: 定義類的slots屬性,它是用來聲明實例屬性名字的列表 有了slots之後對象就不可以再新添加屬性 p1.x dict import sys class Player(obj

原创 python 5-5 如何訪問文件的狀態os.stat()/os.path

5-5 如何訪問文件的狀態 1.文件的類型(普通文件 ,目錄 符號鏈接,設備文件 2.文件的訪問權限 3.文件愛你最後訪問/修改/節點狀態更改時間 4.普通文件的大小 解決方案 系統調用 表中庫os模塊中的三個系統調用

原创 7-3 如何讓對象支持上下文管理協議,需要定義__enter__, __exit__方法 分別在with開始和結束時候被調用

7-3 如何讓對象支持上下文管理 解決方案: 實現上下文管理協議,需要定義enter, exit方法 他們分別在with開始和結束時候被調用 with TelnetClient2('127.0.0.1') as client

原创 python 5-4 如何將文件映射到內存mmap.mmap(f.fileno(),0,access=mmap.ACCESS_WRITE)

python 5-4 如何將文件映射到內存 解決方案 使用標準庫中mmap模塊的mmap函數,它需要一個打開文件描述符作爲參數 Unix: mmap(fileno, length[, flags[, prot[, access

原创 python 7-4 如何創建可管理的對象屬性R = property(getRadius,setRadius)或者@property @radius.setter

python 7-4 如何創建可管理的對象屬性R = property(getRadius,setRadius)或者@property @radius.setter 解決方案: 1. 使用property函數爲類創建可管理屬性

原创 python 5-3 如何設置文件的全緩衝(硬盤 緩衝大小滿了,就落盤),行緩衝(tty),無緩衝(串口)

python 5-3 如何設置文件的全緩衝(硬盤 緩衝大小滿了,就落盤),行緩衝(tty),無緩衝(串口) 在日常工作中,經常都會碰到文件的操作,說到文件提到最多的是緩存,所謂緩存是指linux OS從磁盤中讀到文件後系統會把

原创 python 5-2 如何處理二進制文件open("test.wav","rb")/struct.pack/unpack/array('h',(0 for _ in xrange(n)))

python 5-2 如何處理二進制文件open(“test.wav”,”rb”)/struct.pack/unpack/array(‘h’,(0 for _ in xrange(n))) 解決方案: open函數以二進制模式打

原创 python 7-5 如何讓類支持比較操作lt/le/total_ordering可以簡化此過程,實現lt eq 後,可以推測出=方法

python 7-5 如何讓類支持比較操作 解決方案 第一種方案實現如下方案 比較符號運算符重載,要實現以下方法 lt le gt ge eq ne 第二種方案 使用標準庫中的functools下的類裝飾器tot

原创 python 4-4 如何將多個小字符串拼接成一個大的字符串字符串(+)/S.join()

python 4-4 如何將多個小字符串拼接成一個大的字符串字符串(+)/join() 解決方案: 通過連續使用 + 來實現 是通過調用運算符重載實現的 通過str.join 來實現 + 通過運算符重載 a = "hello"

原创 python 4-6 如何去掉字符串中不需要的字符strip('-+*')/lstrip()/rstrip()/切片分段+/replace/sub/translate

4-6 如何去掉字符串中不需要的字符 方法一,字符串strip() lstrip() rstrip() 去掉字符串兩端字符 方法二,刪除單個位置的字符,可以使用切片 + 拼接的方式 方法三,字符串的replace()方法或者

原创 python 6-2 如何讀寫json數據

python 6-2 如何讀寫json數據 3-2 中有提到使用request去獲得天氣預報 解決方案 使用標準庫中的json模塊,其中loads,dumps函數可以完成json數據的讀寫 json.dumps()將一個py

原创 python 6-4 如何構建xml文檔使用標準庫中的xml.etree.ElementTree 構建ElementTree,使用write方法寫入文檔

python 6-4 如何構建xml文檔使用標準庫中的xml.etree.ElementTree 構建ElementTree,使用write方法寫入文檔 root=minidom.Document() ”’ 6-4 如何構建xm

原创 python 6-5 如何讀寫excel文件 使用第三方庫xlrd 和 xlwt,這兩個庫分別用於excel讀和寫

6-5 如何讀寫excel文件 解決方案 使用第三方庫xlrd 和 xlwt,這兩個庫分別用於excel讀和寫 安裝第三方包 pip install xlrd xlwt 讀寫excel文件 import xlrd import

原创 python 5-2-1 struct打包struct.pack/解包struct.unpack()

struct 打包/解包 >>> i = 1024 將整數打包成16進制 >>> >>> >>> >>> struct.pack("<i",i) '\x00\x04\x00\x00' >>> struct.unpack(