Day 8 檔案的操作

2022-08-24 00:03:12 字數 3847 閱讀 3040

open() #開啟

file #檔案的位置(路徑)

mode #操作檔案的模式

encoding #檔案編碼方式

f = open("蘿莉小姐姐的**號",mode='r',encodinz='utf-8')

print(f.read())

f.close()

操作檔案

1.開啟檔案

2.操作檔案

3.關閉檔案

檔案操作的模式

r,w,a(重要)

rb,wb,ab(次要)

r+,w+,a+(沒啥用)

r操作:

f = open("蘿莉小姐姐**號",mode="r",encoding="utf-8")

print(f.read()) #全部讀取

print(f.read(5)) #按照字元進行讀取

print(f.read())

print(f.readline()) # 讀取一行內容,自動換行

print(f.readline()) # "常鑫你就是大帥比\n"

print(f.readline().strip()) #去除換行符

print(f.readlines()) # 一行一行的讀取,存放在列表中

解決大檔案:

for i in f:

print(i) # 本質就是一行一行進行讀取

print(f.readline())

print(f.readline())

print(f.readline())

w操作:

w分為兩步:

1.先清空檔案

2.寫入檔案

f = open("蘿莉小姐姐**號","w",encoding="utf-8")

f.write("123456789\n")

f.write("123456789\n")

f.write("123456789\n")

f.write("123456789\n")

路徑:1.絕對路徑 -- c:\user\meet\python24\蘿莉小姐姐**號

2.相對路徑

絕對路徑方式開啟檔案

f = open("f:\s24\day08\蘿莉小姐姐**號","r",encoding="utf-8")

print(f.read())

相對路徑方式開啟檔案

f = open("../day03/蘿莉小姐姐**號","r",encoding="utf-8")

print(f.read())

../ 返回上一層

f = open(r"c:\user\net\s24\day03\蘿莉小姐姐**號","r",encoding="utf-8")

路徑轉義:

1."\"

2.r"c:\user\net"

推薦使用相對路徑 (*****)

s = "[1,'2',3,4]"

print(s)

print(repr(s)) # repr -- 顯示資料原生態

a操作: 追加寫

在原始檔的基礎上進行新增

f = open("../day03/蘿莉小姐姐**號","a",encoding="utf-8")

f.write("138383848\n")

f.write("138383850\n")

f = open('蘿莉小姐姐的**號',mode ='ab')

mag = '你好我不好'.encode('utf-8')

print(f1.read()) # 全部讀取

print(f1.read(3)) # 按照位元組讀取

f.write("你好啊".encode("utf-8"))

+操作r+: 讀寫 - 先讀後寫

錯誤的操作 (坑)

f = open("蘿莉小姐姐**號","r+",encoding="utf-8")

f.write("常鑫你太美")

print(f.read())

正確的操作:

f = open("蘿莉小姐姐**號","r+",encoding="utf-8")

print(f.read())

f.write("常鑫你太美")

w+ 清空寫,讀

f = open("蘿莉小姐姐**號","w+",encoding="utf-8")

f.write("常鑫你太美")

print(f.tell())

print(f.tell())

print(f.read())

a+ 追加寫,讀

f = open("蘿莉小姐姐**號","a+",encoding="utf-8")

f.write("常鑫你太美")

print(f.tell()) # 位元組數

print(f.seek(0,0)) # 0將游標移動到檔案的頭部

print(f.read())

其他操作:

tell 檢視游標 --- 返回的是位元組數

seek 移動游標

1.seek(0,0) -- 移動到檔案的頭部

2.seek(0,1) -- 當前位置

3.seek(0,2) -- 移動到檔案的末尾

4.seek(3) -- 按照位元組進行移動(按照編碼集,自己進行計算)

f = open("蘿莉小姐姐**號","r",encoding="gbk")

print(f.read(3)) # 字元

f = open("蘿莉小姐姐**號","rb")

print(f.read(3)) # 位元組

f = open("蘿莉小姐姐**號","r",encoding="gbk")

print(f.read(3)) # 字元

錯誤操作

f = open("蘿莉小姐姐**號","r",encoding="gbk")

f.seek(-1)

print(f.read())

檔案修改

f = open("蘿莉小姐姐**號","r",encoding="gbk")

s = f.read()

s1 = s.replace("你太美","吃煎餅")

f1 = open("蘿莉小姐姐**號","w",encoding="gbk")

f1.write(s1)

with 關鍵字 open("蘿莉小姐姐**號","r",encoding="gbk") as f:

檔案操作的具體內容

w,a 檢測有檔案就操作,沒檔案就建立

with open("蘿莉小姐姐**號","r",encoding="gbk")as f,

open("蘿莉小姐姐**號.txt","w",encoding="gbk")as f1:

for i in f:

s1 = i.replace("大燒餅","井蓋")

f1.write(s1)

import os

os.rename("蘿莉小姐姐**號","蘿莉小姐姐**號.bak")

os.rename("蘿莉小姐姐**號.txt","蘿莉小姐姐**號")

with open("蘿莉小姐姐**號","r",encoding="gbk")as f:

pass # 縮排裡操作檔案

print(f.read()) # 檔案及已經關閉了

day8 檔案操作

檔案操作 檔案操作函式 正常模式 r唯讀f open aaaa mode r encoding utf 8 s f.read 一次讀取一行是readline print s f.close 迴圈 f open a mode r encoding utf 8 for line in f print l...

day8 檔案互動

能呼叫方法的一定是物件,要操作檔案,首先要建立乙個 檔案物件 建立檔案物件 f open 檔名 r encoding utf8 對檔案進行操作,這裡是把檔案讀出來 這裡注意,必須把檔案用乙個變數存起來!line f.read 關閉檔案 f.close 檔案操作這是必須的三步,必須要先建立乙個檔案物件...

python基礎 day8 檔案操作

open 是python的內建函式,open底層呼叫的是作業系統的介面 f1 就是個變數,專業名詞 檔案控制代碼。一般命名f1,fh,file handler,f h等等,對檔案進行任何操作,都要通過檔案控制代碼。encoding 可以不寫,如果不寫的話,預設編碼本就是作業系統的預設編碼 windo...