天天看點

檔案常用操作

# 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+打開寫一定要注意光标位置,如果本來有文字則會覆寫,因為光标是從頭開始的