把多種python物件寫入乙個文字檔案的各行
!!要使用轉換工具把物件轉成字串,文字資料在指令碼中一定是字串,而寫入方法不會自動地做任何到字串的格式轉換工作。
x,y,z = 43, 44, 45
s = 'spam' #必須是字串才能儲存在檔案中
d =
l = [1, 2, 3]
f = open('datafile.txt', 'w') #建立輸出檔案
f.write(s + '\n')
f.write('%s,'%s,'%s\n' % (x, y, z)) #將數字轉換為字串
f.write(str(l) + '¥' + str(d) + '\n')
f.close()
建立好檔案後,就可以通過開啟和讀取字串來檢視檔案的內容
!!互動式顯示給出了直接的位元組內容,而print操作則會解釋內嵌的換行符,從而按照使用者友好的方式展示結果
>>>chars = open('datafile.txt).read() #原始字串顯示
>>>chars
''spam\n43, 44, 45\n[1, 2, 3]$\n''
>>>print(chars)
spam
43, 44, 45
[1, 2, 3]$
把文字檔案中的字串轉換為真正的python物件
如果需要使用索引、加法等普通物件工具(python不會自動把字串轉換成數字)
>>>f = open('datafile.txt')
>>>line = f.readline()
>>>line
'spam\n'
>>>line.rstrip() #用字串的rstrip方法去掉多餘的換行符
'spam'
現讀取了包含字串的行,再讀取包含數字的下一行並解析出該行中的物件
>>>line = f.readline()
>>>line
'43,44,45\n'
>>>parts = line.split(', ')
>>>parts
['43', '44', '45\n']
用字串的split方法,從逗號分隔符的地方將整行斷開,得到的結果是含有各個數字的子字串列表
為做數字運算,將字串轉換為整數:
>>>int(parts[1])
44>>>numbers = [int(p) for p in parts]
>>>numbers
[43, 44, 45]
int能夠把數字字串轉換為整數物件 在map中儲存struct,及map的檔案輸入輸出
自己寫的 因為我記憶力差的驚人,所以一方面以後我用到這個 直接複製貼上反正會忘,就不費力記了。另一方面,看到國內很多這樣現成的例子少,所以方便大家。用函式的方法實現 從map輸出到檔案,map的value是struct include include include include using na...
資料在堆疊中儲存方式
一 乙個由c c 編譯的程式占用的記憶體分為以下幾個部分 1 棧區 stack 由編譯器自動分配釋放,存放函式的引數值,區域性變數的值等。其操作方式類似於資料結構中的棧。2 堆區 heap 一般由程式設計師分配釋放,若程式設計師不釋放,程式結束時可能由os 注malloc,calloc,new申請的...
在table中儲存nil值
在table中,nil不可以作為key,否則會有執行報錯 而且,有時候使用 獲取長度時,會因為nil而導致無法獲取到正確的長度 如下,有乙個函式,它是用來把引數進行反序,使用 獲取長度,但是長度出現了問題 function reverse local t for i 1,t 2 do local j...