# f.write() #字元串寫入檔案
#
# f.writelines #将一串字元串寫入檔案。 該序列可以是生成字元串的任何可疊代對象,通常是字元串清單
#
# f.read([size]) #預設讀出檔案中所有内容,可以指定size(位元組)
#
# f.readline([size]) #預設每次讀取一行,字元串中保留一個尾随的換行字元。
#
# f.readlines([size]) #預設将檔案内容講到清單中儲存
#
# f.flush() #将緩沖中的内容寫入磁盤
#
# f.tell() #顯示目前檔案的指針所在位置
#
# f.close() #關閉打開的檔案
#
# f.seek() #對檔案進行指針偏移操作,有三個模式,
#
# 一般不是二進制,初始位置隻能填0 seek(0,0) 預設移動到檔案開頭或簡寫成seek(0)
#
# rb和rb+的時候才能用負數 seek(x,1) 表示從目前指針位置向後移x(正數)個位元組,如果x是負數,則是目前位置向前移動x個位元組
#
# 一個中文有三個位元組,得三個三個的移動,要不會報錯 seek(x,2) 表示從檔案末尾向前後移x(正數)個位元組,如果x負數,則是從末尾向前移動x個位元組
f = open("file2.txt",'w+',encoding='utf-8')
f.write("I love python\n")
f.write("python 是世界上最美麗的語言!\n")
f.write("python 世界上最美麗的語言?")
print(len(f.read())) #檔案總長度 89
print(f.tell()) #讀完檔案,檔案指針位置89
f.seek(0,0) #偏移回檔案頭
print(f.readline()) #列印出檔案中一行(第一行)
print (f.tell()) #顯示檔案指針現在的位置
print(f.readline()) #再列印一行(應該少2個位元組)
print(f.tell()) #顯示 現在 的指針位置
print(f.readline()) #列印下一行
print(f.tell()) #顯示 現在 的指針位置
f.seek(57,0) #從尾部向前偏移9個字元
print(f.tell()) #顯示 現在 的指針位置
print(f.readline()) #列印出内容
f.close()
# 用r+打開寫一定要注意光标位置,如果本來有文字則會覆寫,因為光标是從頭開始的