標籤:python 字串 字母 檔案操作 元組
新手剛剛開始學習python,如有寫錯或者寫的不好的地方,請大家多多指導!
python元組相加
a = (1,2)
b = (3,4)
a + b
元組運用乘法
(1,2) * 4 #在這裡邊,元組不會被當成數字來計算,而是輸出4次
給字母類型的元組拍
t = (‘bb,‘,‘dd‘,‘aa‘,‘cc‘)
tm = list(t)
tm.sort() #然後輸出tm
t = tuple(tm)
用for的方式運算
t = (1,2,3,4,5)
l = [x + 20 for x in t]
替換元組
t = (1,[2,3],4)
t[1][0] = ‘spa‘ #t元組中第二個數值之後緊挨著的數值
python檔案操作
常見的檔案運算
output = open(r‘d:\a.py‘, ‘w‘) 建立輸出檔案(w是指寫入)
input = open(‘date‘, ‘r‘) 建立輸入檔案(r是指讀寫)
input = open(‘date‘) 與上一行想同(r是預設值)
input.read() 把整個檔案讀取進單一字串
input.read(N) 讀取之後的N個位元組,到一個字串
input.readline() 逐行讀取,第一次讀取第一行,第二次讀取下一行
alist = input.readlines() 讀取整個檔案到字串列表
output.write(as) 寫入位元組字串到檔案
output.writelines(alist) 把列表內所有字串寫入檔案
output.close() 手動關閉(當檔案收集完成是會替你關閉檔案)
output.flush() 把輸出緩衝區刷到硬碟中,但不關閉檔案
anyFile.seek(N) 修改檔案位置到位移量N處以便進行下一個操作
for line in open(‘data‘): use line 檔案迭代器一行一行的讀取
open(‘f.txt‘, encoding=‘latin-1‘) python3.0unicode文字檔(str字串)
open(‘f.bin‘, ‘rb‘) python3.0二進位byte檔案(bytes字串)
執行個體應用
myfile = open(‘myfile.txt‘, ‘w‘) #建立一個myfile.txt檔案,並開啟進行寫入
myfile.write(‘hello,world\n‘)
myfile.write(‘good bye‘\n) #\n表示轉行
myfile.close() #關閉檔案 然後開啟本地目錄,看看檔案內容是否一樣
讀取檔案
myfile = open(‘myfile.txt‘) #開啟檔案,預設是唯讀
myfile.readline() #讀取第一行
myfile.readline() #讀取下一行
把整個檔案讀取進單一字串
open(‘myfile.txt‘).read() #把所以檔案一次性讀取完,\n之後的表示下一行
使用列印的方式來讀取
print(open(‘myfile.txt‘).read()) #這樣處理的結果比較清晰,隔行分開
用for的方式來逐行讀取檔案
for line in open(‘myfile.txt‘):
print(line,end=‘‘)
以二進位的方法開啟檔案
data = open(‘myfile.txt‘, ‘rb‘).read() #這樣的話效果不太明顯,可以建立文本寫入數字開看看
data[4:8]
data[0]
bin(data[0]) #二進位的方式顯示一個檔案
檔案儲存體
x, y, z = 43, 44, 45
s = ‘spam‘
d = {‘a‘: 1,‘b‘: 2}
l = [1,2,3]
f = open(‘data.txt‘, ‘w‘)
f.write(s + ‘\n‘) #直接將s插入然後轉行
f.write(‘%s,%s,%s\n‘ % (x,y,z))
f.write(str(l) + ‘$‘ str(d) + ‘\n‘) #str輸出l + str輸出的d
然後讀取看下結果
a = open(‘data.txt‘).read()
print(a)
去掉多餘的行
f = open(‘data.txt‘)
line = f.readline()
line.rstrip() #移除掉用了轉行的\n
建立2進位檔案
d = {‘a‘: 1,‘b‘: 2}
f = open(‘datafile.pk‘, ‘wb‘)
import pickle
pickle.dump(d, f)
f.close()
想讀取的時候,因為轉換成二進位了,還要用pickle讀取回來
f = open(‘datafile.pk‘, ‘rb‘)
a = pickle.load(f) #在這不知道是什麼原因,有時候這樣定義的話會報錯
pickle.load(f) #如果報錯的話,就這樣來讀取
直接開啟二進位檔案
open(‘datafile.pk‘, ‘rb‘).read() #顯示的就是一堆位元字,而不是插入的數值
使用struct模組來進行二進位檔案的打包和解析
首先來進行建立
f = open(‘data.bin‘, ‘wb‘)
import struct
data = struct.pack(‘>i4sh‘,7,‘spam‘, 8)
f.write(data)
f.close()
然後讀取
f = open(‘data.bin‘, ‘rb‘)
data = f.read()
values = struct.unpack(‘i4sh‘, data) #然後輸出values
新手剛剛開始學習python,如有寫錯或者寫的不好的地方,請大家多多指導!
本文出自 “鬥月” 部落格,請務必保留此出處http://douyue.blog.51cto.com/10174393/1652464
python元組,檔案的操作