新手Python學習記錄Day4

2021-09-11 18:08:09 字數 1860 閱讀 2005

f = open('lyrics.txt')

first_line = f.readline() #讀取一行資料

for line in f.readlines(): #將所有行組成乙個列表

print(line.strip())

for index,line in enumerate(f.readlines()): #很佔記憶體,一般不用

if index % 9 == 0:

print('分割線'.center(50,'-'))

else:

print(line.strip())

count = 0

for line in f: #記憶體每次只儲存一行,節省記憶體。

print(line) #不能讀取下標,需要自定義計數器

count += 1

data = f.read() #讀取剩餘所有資料,檔案大時不要使用

data2 = f.read() #此時檔案指標已經在最後,因此data2讀不到結果

f.close()

開啟檔案的模式有:

r,唯讀模式(預設)。

w,只寫模式。【不可讀;不存在則建立;存在則刪除內容;會覆蓋之前所有內容】

a,追加模式。【可讀; 不存在則建立;存在則只追加內容;】

"+" 表示可以同時讀寫某個檔案

f.open('lyrics2.txt','w')

f.write('歌詞結尾\n')

r+,可讀寫檔案。【可讀;可寫;可追加】

w+,寫讀

a+,同a

"u"表示在讀取時,可以將 \r \n \r\n自動轉換成 \n (與 r 或 r+ 模式同使用)

rur+u

"b"表示處理二進位制檔案(如:ftp傳送上傳iso映象檔案,linux可忽略,windows處理二進位制檔案時需標註)

rbwb

ab

檔案游標

f.read(50) #閱讀到50個字元

f.tell() #輸出游標位置

f.seek(0) #游標回到0位置

f.name() #檔名

f.buffer() #顯示快取中的物件

f.write() #先寫進快取中,還未儲存到硬碟中

f.flush() #重新整理,表示立刻將快取中的內容儲存到硬碟,在檔案中顯示出來

f.truncate(20) #從頭截斷到20個字元位置

展示出印表機效果

import sys

import time

for i in range(20):

sys.stdout.write('#')

sys.stdout.flush()

time.sleep(0.1)

with open('log','r') as f:

... #with執行完後,內部會自動關閉並釋放檔案資源,防止開啟檔案後忘記

import sys

print(sys.getdefaultencoding())

msg = "外北京"

msg_gb2312 = msg.encode('gb2312')

msg_gb2312_to_unicode = msg_gb2312.decode('gb2312')

msg_gb2312_to_utf8 = msg_gb2312.decode('gb2312').encode('utf-8')

新手Python學習記錄Day6

使a中每項 1 a 0,1,2,3,4,5,6,7,8,9 for index,i in enumerate a a index i 1 a map lambda x x 1,a 構建匿名函式 a i 1 for i in range 10 重新構造了乙個列表 列表生成 l x x for x in...

Python 新手學習記錄 列表 字典

今天是python學習的第二天,列表和字典,個人筆記記錄 name 小白 小紅 小藍 小黃 索引從0開始 print name 0 小白 可以逆序訪問 print name 1 小黃 修改某個元素 name 0 大白 print name 0 大白 刪除元素 del 刪除某個位置元素 del nam...

node新手學習記錄

情況 node執行指令碼不會實時更新 解決 安裝nodemon 安裝命令 npm install g nodemon 啟動命令 nodemon 指令碼.js node.js的應用組成部分 require指令,使用require指令來載入node.js模組 建立伺服器,可以監聽客戶端的請求 接收請求與...