1. 程式人生 > >python:文件操作

python:文件操作

加載文件 day 都是 編號 encoding yesterday 強制 定位在 默認

#!usr/bin/env python
# -*- coding:utf-8 -*-

__author__ = "Samson"

#默認以只讀方式打開
f1 = open("yesterday", encoding="utf-8")
for i in range(3):
print(f1.readline().strip())#只能讀取一行
f1.close()


f1 = open("yesterday", encoding="utf-8")
for line in f1.readlines():#readlines函數讀取文件中的所有數據加載到內存中並返回一個列表,該方法只適合讀取小文件
print(line.strip())
f1.close()

f1 = open("yesterday", encoding="utf-8")
for line in f1:#這種寫法好點,一行一行讀取,只會加載一行到內存中,不會像readlines那樣加載文件所有內容到內存中
print("----",line.strip())
f1.close()

#只寫方式打開文件
f2 = open("yesterday", "w", encoding="utf-8")#文件句柄
f2.write("I am a handsome boy!")
f2.truncate(10)#截斷10個字符(無論文件定位在哪兒,都是從頭開始截斷)
f2.close()

#追加模式,只能寫
f3 = open("yesterday", "a", encoding="utf-8")
f3.write("\nwow\n")
f3.flush()#強制刷新,一般與write()一起使用
f3.write("You are a lucky boy!")
f3.close()

#文件定位
f4 = open("yesterday", encoding="utf-8")
print(f4.tell())#tell()函數指的是當前文件中光標所在的位置(即文件讀到哪兒了)
print(f4.readline())
print(f4.tell())
f4.seek(0)#光標定位到起始處
print(f4.readline())
print(f4.encoding)#返回文件的編碼方式
print(f4.fileno())#返回文件句柄在內存中的編號
f4.close()

#以讀,寫方式打開文件(只能在文件末尾寫),寫程序一般用該方式
file = open("yesterday", "r+", encoding="utf-8")
#以寫,讀方式打開文件(只能在文件末尾寫,無論定位到哪兒都是在文件末尾寫)
file1 = open("yesterday", "w+", encoding="utf-8")
#以追加,讀方式打開文件(只能在文件末尾寫,無論定位到哪兒都是在文件末尾寫)
file2 = open("yesterday", "a+", encoding="utf-8")
#以讀方式打開二進制文件
file3 = open("yesterday2", "rb")
file3.write("Hello everyone!".encode())

python:文件操作