打開文件的模式有:
1. 只讀模式(默認)
2. 只寫模式(不可讀,不存在則創建,存在則覆蓋)
3. 追加模式(可讀,不存在則創建,存在則只追加內容)
"+"表示可同時讀寫某個文件:
1. r+可讀寫文件(可讀,可寫,可追加)
2. w+寫讀
3. a+追加
"U"表示在讀取時,可以將\r \n \r\n自動轉換成\n(與r或者r+模式同時使用)
因為Windows系統的換行符為\r\n,Linux系統的換行符為\n,加上U則能自動把\r\n轉換成\n
1. rU
2. r+U
"b"表示處理二進制文件
1.rb
2.wb
3.ab
#coding:utf-8
#打開文件open()
f = open('test.txt','r+')
#或者with open() 這種方法操作完成后,會自動關閉不需要close()
with open('test.txt','r') as f:
f.read()
#關閉文件
f = open('test.txt','r+',encoding='utf-8')
ret = f.read()
print(ret)
f.close()
#讀取文件內容(可指定每次讀取字字符)
f = open('test.txt','r+',encoding='utf-8')
ret = f.read(8)
print(ret)
#讀取數據(可指定讀取字符數),存為list顯示
f = open('test.txt','r+',encoding='utf-8')
ret = f.readlines()
print(ret)
f.close()
#讀取一行數據
f = open('test.txt','r+',encoding='utf-8')
ret = f.readline()
print(ret)
f.close()
#寫入文件write()參數是字符串
f = open('test.txt','a+',encoding='utf-8')
f.write("abc")
ret = f.read()
print(ret)
f.close()
#寫入文件,writelines()參數是序列,比如列表,它會迭代幫你寫入文件
f = open('test.txt','a+',encoding='utf-8')
f.writelines(["aa","bb","cc"])
ret = f.read()
print(ret)
f.close()
#判斷文件是否是統一tty設備
f = open('test.txt','r+',encoding='utf-8')
ret = f.isatty()
print(ret) #False
f.close()
#判斷是否可讀(不可讀則報錯" No such file or directory: ")
f = open('test.txt','r+',encoding='utf-8')
ret = f.readable()
print(ret) #True
f.close()
#指定文件中指針的位置
f = open('test.txt','r+',encoding='utf-8')
ret = f.read(8) #先讀取8個字符
print(ret)
f.seek(0) #然后把指針移動到文件開頭處
ret = f.read(8) #在重新讀取
print(ret)
f.close()
#獲取指針位置
f = open('test.txt','r+',encoding='utf-8')
ret = f.read(8) #先讀取8個字符
print("pointer position:%s"%f.tell()) #查看當前指針位置
print(ret)
f.seek(0) #重置指定到啟始位
print("pointer position:%s"%f.tell()) #在查看指針位置
f.close()
#截斷文件數據,僅保留指定之前數據(指定字節數)
f = open('test.txt','r+',encoding='utf-8')
f.truncate(8) #文件只保留前8個字節數據,文件后面數據的全部刪除
ret = f.read()
print(ret)
f.close()
#文件描述符
f.fileno()
#刷新文件內部緩沖區
f.flush()