# 檔案操作'''# 條件:
檔名稱: 檔案.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後面加上...