Python3.x 文件操作



打開文件的模式有:
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()

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM