python 檔案操作

2022-09-15 01:09:10 字數 3613 閱讀 3437

# 檔案操作

'''# 條件:

檔名稱: 檔案.txt

路徑:d:\檔案.txt

編碼方式:utf-8

操作方式:讀、寫、追加、讀寫、寫讀..........

以什麼編碼方式儲存的,就要以什麼編碼方式操作

# 檔案唯讀 :r

# open('d:\檔案.txt',mode = 'r',encoding='utf-8') 這是乙個物件

f = open('d:\檔案.txt',mode = 'r',encoding='utf-8') # 把這個物件賦給f

# f.read # 這個物件的操作 一次性讀出來,檔案太大的話容易佔滿記憶體

h = f.read() # 把這個物件操作賦給h

print(h) # 列印出

f.close()

# 注:mode = 'rb' 時可以不加編碼方式 它是以bytes二進位制的形式開啟檔案,處理非文字的檔案

# 檔案只寫 w 如果有這個檔案會將原始檔內容清空了,在寫;沒有會建立乙個寫

f = open('d:\log.txt',mode='w',encoding='utf-8')

f.write("我是裡面的內容")

f.close()

如果是wb 二進位制方式寫入

f = open('d:\log.txt',mode='wb') # 可以不加編碼方式

f.write("我是裡面的內容".encode('utf-8')) # 寫入的時候要加encode

f.close()

# 檔案追加

f = open('d:\檔案.txt',mode='a',encoding='utf-8')

f.write("我是裡面的內容")

f.close()

# ab 二進位制方式

f = open('d:\檔案.txt',mode='ab')

f.write("我是裡面的內容".encode('utf-8'))

f.close()

# r+ 模式下 讀寫

f = open('d:\檔案.txt',mode='r+',encoding='utf-8')

print(f.read()) # 只能讀出原文章,游標定位原文章後面寫入新文章

f.write('hello world')

f.close()

# r+ 讀寫

f = open('d:\檔案.txt',mode='r+',encoding='utf-8')

f.write('hahahahaha') # 游標會直接定位到最開始,寫入的新文章會覆蓋掉原文章

print(f.read())

f.close()

# r+b # 以bytes型別 就是二進位制

f = open('d:\檔案.txt',mode='r+b')

print(f.read())

f.write('hello world'.encode('utf-8'))

f.close()

# w+ 寫讀

f = open('d:\檔案.txt',mode='w+',encoding='utf-8')

f.write('hhhhhhh')

f.seek(0) # 把游標調到0的位置

print(f.read())

f.close()

# w+b 不在闡述

# a+ 追加讀

f = open('d:\檔案.txt',mode='a+',encoding='utf-8')

f.write('eeeee')

f.seek(0)

print(f.read()) # 如果a不加+,f.read() 是無效的

f.close()

# 功能詳解

f = open("d:\檔案.txt",mode="r+",encoding='utf-8')

print(f.read(2)) # 可以去定位去讀,單位是字元

f.seek(2) # 是按照位元組定游標位置

print(f.tell()) # 獲取游標當前的位置

f.close()

# 我只想讀後三位 調節游標讀取 游標->檔案指標

f = open('d:\檔案.txt',mode='a+',encoding='utf-8')

f.write('lkj')

count = f.tell() # 找到游標位置,肯定在最後一位

print(count)

print(type(count))

f.seek(count-7) # 然後指定游標到某個位置

f.readable() # 是否可讀 返回flase true

f.readline() # 一行一行讀 缺點 不知道在哪結束

f.readlines() # 每一行當成列表中的乙個元素,新增到list中 也是一次性讀完 缺點 檔案太大的話 容易佔滿記憶體

f.truncate() # 對原檔案進行擷取

print(f.read())

f.close()

# 想看乙個檔案內容 for迴圈列印出來

f = open('d:\檔案.txt',mode='r+',encoding='utf-8') # r+ 是比較常用 因為他也能追加

for line in f:

print(line)

f.close()

# 有時候讀的時候忘記最後關閉文件,忘寫.close 下面這個自動讀取關閉

with open('d:\檔案.txt',mode='r+',encoding='utf-8') as f:

print(f.read())

# 也可以多行去操作

with open('d:\檔案.txt',mode='r+',encoding='utf-8') as f,\

open('d:\log.txt',mode='w+',encoding='utf-8') as h:

print(f.read())

'''

#

檔案修改

#檔案是不能修改的

#要想修改 只能讀 重新寫 然後把以前的刪掉

#開啟方式mode不寫預設是r,

with open('

學習.py

',encoding='

utf-8

') as f,\

open(

'學習.bak

','w

',encoding='

utf-8

') as f2:

for i in

f: if'

嘿嘿嘿'

ini:

i = i.replace('

嘿嘿嘿','

hello')

#寫檔案

f2.write(i)

import

osos.remove(

'學習.py

') #

刪除檔案

os.rename('

學習.bak

','學習

') #

重新命名檔案

python 檔案操作

簡明 python 教程 中的例子,python 執行出錯,用open代替file 可以執行。poem programming is fun when the work is done if you wanna make your work also fun use python f open e ...

python檔案操作

1,將乙個路徑名分解為目錄名和檔名兩部分 a,b os.path.split c 123 456 test.txt print a print b 顯示 c 123 456 test.txt 2,分解檔名的副檔名 a,b os.path.splitext c 123 456 test.txt pri...

Python 檔案操作

1.開啟檔案 如下 f open d test.txt w 說明 第乙個引數是檔名稱,包括路徑 第二個引數是開啟的模式mode r 唯讀 預設。如果檔案不存在,則丟擲錯誤 w 只寫 如果檔案 不存在,則自動建立檔案 a 附加到檔案末尾 r 讀寫 如果需要以二進位制方式開啟檔案,需要在mode後面加上...