1. 程式人生 > 實用技巧 >Python基礎學習 08-檔案操作

Python基礎學習 08-檔案操作

目錄


Day08

檔案操作

f = open("檔案的路徑", mode="操作檔案的模式", encoding="檔案的編碼")

open() 開啟
file 檔案位置(路徑)
mode 操作檔案的模式
encoding 檔案編碼方式
f 檔案控制代碼

舉例:f = open("1.txt", mode="r", encoding="utf-8")
print(f.read())
f.close()

操作檔案

1.開啟檔案
2.操作檔案
3.關閉檔案

檔案操作模式

r,w,a
rb,wb,ab
r+,w+,a+

r,w,a

r操作
f = open("1.txt", mode="r", encoding="utf-8")
print(f.read())            # 全部讀取
print(f.read(5))            # 按照字元進行讀取

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

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

解決大檔案:
for i in f:
    print(i)      # 本質就是一行一行進行讀取


w操作
w操作分為兩步:1.先清空檔案。2.寫入檔案
f = open("1.txt", "w", encoding="utf-8")
f.write("123123\n")
f.write("123123\n")


a操作 追加寫
在原始檔的基礎上進行新增
f = open("1.txt", "a", encoding="utf-8")
f.write("123123\n")

rb,wb,ab

rb
f1 = open("1.jpb", "rb")
print(f1.read())

wb
f = open("2.jpb", "wb")
f.write(f1.read())

ab
f = open("3.jpb", "ab")
f.write("你好".encoding("utf-8"))
f = open("3.jpb", "rb")
print(f.read())

r+,w+,a+

r+      讀寫 -- 先讀後寫
f = open("1.txt", "r+", encoding="utf-8")
print(f.read())
f.write("aaa")

w+ 清空寫,讀
f = open("1.txt", "w+", encoding="utf-8")
f.write("aaa")
print(f.tell())
print(f.read())

a+ 追加寫,讀
f = open("1.txt", "a+", encoding="utf-8")
f.write("aaa")
print(f.tell()) # 位元組數
print(f.seek(0, 0)) #0 將游標移動到檔案的頭部
print(f.read())

其他操作

tell 檢視游標 返回的是位元組數
seek 移動游標
seek(0, 0) 移動到檔案的頭部
seek(0, 1) 當前位置
seek(0, 2) 移動到檔案的末尾
seek(3) 按照位元組進行移動,按照編碼集

檔案修改

f = open("1.txt", "r", encoding="gbk")
s = f.read()
s1 = s.replace("你好", "哈嘍")

f1 = open("1.txt", "w", encoding="gbk")
f1.write(s1)

with 關鍵字 open("1.txt", "r", encoding="gbk") as f:
檔案操作的具體內容

w ,a 檢測有檔案就操作,沒有檔案就建立
with open("1.txt", "r", encoding="gbk") as f,
open("1.txt.txt", "w", encoding="gbk") as f1:
for i in f:
s1 = i.replace("你好", "哈嘍")
f1.write(s1)

import os
os.rename("1.txt", "1.txt.bak")
os.rename("1.txt.txt", "1.txt")

with open("1.txt", "r", encoding="gbk") as f:
pass
print(f.read()) #檔案已經關閉了