文件操作的基本流程
1、讀模式
f.read()f.readable()#這個文件是否可讀,返回布爾值;
f.readline(“讀模式”)#讀取第一行;
f.readlines(“讀模式”)#讀取所有內容 以字符串方式存儲在列表內; f = open('小重山','r',encoding='utf-8') #第一個參數是文件位置,第二個參數是讀模式,第三個參數是定義編碼 data = f.read() #括號里是有參數的,5代表要取5個字符,默認是讀取所有。 print(data) f.close() #關閉
2、寫模式
f.write('寫模式')#注意 寫之前會清空原文本文件,然后進行寫入! 若沒有文件則會新創建一個文件進行寫入;
f.write("寫模式1\n寫模式2\n寫模式3\n寫模式4\n")#換行寫入;
f.writelines(["寫模式1\n寫模式2\n寫模式3\n寫模式4\n"])#該模式要傳入的數據類型必須是列表;
f.writable()#這個文件是否可寫,返回布爾值;
#注意 寫之前會清空原文本文件,然后進行寫入! 若沒有文件則會新創建一個文件進行寫入
f = open('name','w',encoding='utf-8') #第一個參數是文件位置,第二個參數是寫模式,第三個參數是定義編碼
data = f.write("寫模式1\n寫模式2\n寫模式3\n寫模式4\n")
print(data)
f.close() 寫模式1
寫模式2
寫模式3
寫模式4 f.writelines(["寫模式1\n寫模式2\n寫模式3\n寫模式4\n"])#該模式要傳入的數據類型必須是列表 f = open('小重山','a',encoding='utf-8') # a 代表 append 追加 不會清空原文件 data = f.write('寫模式') print(data) f.close()
3、# r+ , w+ , a+模式
with:
同時管理多個文件對象
1 with open('log1','r') as f_read, open('log2','w') as f_write: 2 for lien in f_read: 3 f_write.write(lien)具體的操作方法:
1、f.readline()? #讀取第一行
f = open('小重山','r',encoding='utf-8') #第一個參數是文件位置,第二個參數是寫模式,第三個參數是定義編碼 data = f.readline() print(data) f.close()2、data = f.readliens()? # 讀取所有內容 以字符串方式存儲在列表內
['寫模式哈哈寫模式\n', '哈哈\n', '發的\n']
3、readable()#這個文件是否可讀,返回布爾值;
f=open("name","r",encoding="utf-8") print(f.readable()) f.close()True循環 f.readliens() 取出的列表,并指定第二行添加字符串'oooo'?
(不常用) 若文件較大,占內存
?常用方法:
1 f = open('小重山','r',encoding='utf-8') #第一個參數是文件位置,第二個參數是寫模式,第三個參數是定義編碼 2 number = 0 3 for i in f: #這里for內部將f做成一個迭代器,用一行取一行,用完清空,不占內存 4 number += 1 5 if number == 2: 6 i = ''.join([i.strip() , 'oooo']) 7 print(i.strip()) 8 f.close() 9 10 11 print(f.tell(3)) #打印光標的位置 對于英文字符就占一個,中文字符占3個; 12 13 print(f.seek(3)) #調整光標位置的 14 15 16 f.flush() #把緩存里的數據更新到磁盤上(防止程序崩潰數據丟失) 17 18 19 >>> f = open('hello','w') 20 >>> f.write('alex is 35 ')11 21 >>> f.write('hello world')11 22 >>> f.flush() 23 alex is 35 hello world 24 25 #進度條效果展示 26 27 import sys,time 28 29 for i in range(30): #第一種方法 30 sys.stdout.write('=') 31 sys.stdout.flush() 32 time.sleep(0.1) 33 34 35 for i in range(30): #第二種方法 36 print('=',end='',flush=True) 37 time.sleep(0.1)f.truncate()# 截取字符
f = open('小重山','a',encoding='utf-8')
f.write('asfzxc')
f.truncate(5) ?
轉載于:https://www.cnblogs.com/songzhixue/p/9120306.html
總結
- 上一篇: MarkDown/Html在线转换(支持
- 下一篇: hdoj-1004-Let the Ba