#!/usr/bin/env python
# -*- coding:utf-8 -*-
#文件操作之基本的打開模式
#1.只讀,r
f1=open('test.txt','r')
data1=f1.read()
f1.close()
print(data1)
#2.w,只寫模式(不可讀,文件不存在則創建,存在則清空內容)
f2=open('test.txt','w')
data2=f2.write("123456")
f2.close()
f3=open('test1.txt','w')
data3=f3.write("Calvin666")
f3.close()
f3=open('test1.txt','w')
data3=f3.writelines("python is a good language\n"
"I like it very much\n"
"How about you?") #一次寫入多行內容
f3.close()
#3.x,只寫模式(不可讀,文件不存在則創建,存在則報錯)
f4=open('test2.txt','x')
data4=f4.write("Calvin666")
f4.close()
#4.a,追加模式(不可讀,文件不存在則創建,存在則追加內容)
f5=open('test2.txt','a')
data5=f5.write("888")
f5.close()
#字節的方式打開文件
#只讀字節rb
f6=open('test2.txt','rb')
data6=f6.read()
f6.close()
str_data=str(data6,encoding='utf-8')
print(type(data6),data6,str_data)
#只寫字節wb,寫入字節,傳入的字符串要先轉換成字節才能寫入到文件
f7=open('test1.txt','wb')
str_data2='科比'
byte_data=bytes(str_data2,encoding='utf-8')
f7.write(byte_data)
f7.close()
#"+"表示可以同時讀寫某個文件
#r+ ,讀寫【可讀,可寫】,默認指針在最開始
#r,從指針位置為0開始讀取
# w,如果先讀,末尾追加,如果要從某個位置寫,使用seek指向某個位置
f8=open('test1.txt','r+',encoding='utf-8')
#返回一個整數,表示當前文件指針的位置.
f8.tell()
data1=f8.write('greate')
f8.close()
print(data1)
#w+ ,寫讀【可讀,可寫】,默認指針在最后
f8=open('test1.txt','r+',encoding='utf-8')
#返回一個整數,表示當前文件指針的位置.
f8.tell()
data1=f8.write('科比布萊恩特')
#f.seek(偏移量,[起始位置]) 用來移動文件指針,偏移量:單位:字節,可正可負,起始位置:0-文件頭,默認值;1-當前位置;2-文件尾
f8.seek(0)
data2=f8.read()
f8.close()
print(data2)
#x+ ,寫讀【可讀,可寫】
#與w+類似,只是文件存在會報錯
#a+ ,寫讀【可讀,可寫】,默認指針在最后
#r,最后位置讀取
#w,主動seek,最后追加
f9=open('test1.txt','a+',encoding='utf-8')
#返回一個整數,表示當前文件指針的位置.
f9.tell()
data3=f9.write('科比布萊恩特')
#f.seek(偏移量,[起始位置]) 用來移動文件指針,偏移量:單位:字節,可正可負,起始位置:0-文件頭,默認值;1-當前位置;2-文件尾
f9.seek(0)
data4=f9.read()
f9.close()
print(data4)