一、檔案的基本操作
1、打開檔案
- open(name,mode)
- name-檔案名字串;mode-訪問模式
P.s:訪問模式
| r |
只讀,檔案指標位于檔案開頭,默認模式 P.s:打開不存在檔案報錯 |
| rb | 二進制打開檔案用于只讀,檔案指標位于檔案開頭 |
| r+ |
讀寫,檔案指標位于檔案開頭 P.s:r+打開不存在的檔案報錯,同r操作 |
| rb+ | 二進制打開檔案用于讀寫,檔案指標位于檔案開頭 |
| w |
僅寫入,檔案指標位于檔案開頭, 如檔案已存在,從開頭編輯,會覆寫原內容即原內容洗掉;如檔案不存在創建新檔案 |
| wb |
二進制打開檔案用于寫入, 規則同'w', |
| w+ |
讀寫, 寫規則同‘w' P.s: w+打開檔案原內容洗掉,未寫入時直接讀取為空,因為w操作會覆寫原內容 |
| wb+ |
二進制打開檔案用于讀寫 規則同'w+' |
| a |
追加,檔案指標位于檔案結尾, 如檔案已存在,從原內容后添加;如檔案不存在創建新檔案 |
| ab | 二進制打開檔案用于追加,其他同'a' |
| a+ |
二進制打開檔案用于讀寫,寫規則同'a' P.s:a+未寫入時直接讀取為空,因為a操作的檔案在檔案結尾 |
| ab+ | 二進制打開檔案用于讀寫,寫規則同'a' |
2、讀取檔案
| read(num) |
從頭讀取,num為讀取資料長度,不寫默認讀取全部 f = open('test.txt', 'r')
content = f.read(7) # P.s:換行占據一個字符
print(content)
"""
aaaaa
b
"""
f.close()
|
| readlines() |
按行從頭讀取,讀取資料存入串列,每一行的資料為一個元素 f = open('test.txt', 'r')
content = f.readlines()
print(content) # ['aaaaa\n', 'bbbbb\n', 'ccccc']
f.close()
|
| readline() |
一次讀取一行內容 f = open('test.txt', 'r')
content = f.readline()
print(content) # aaaaa
content = f.readline()
print(content) # bbbbb
f.close()
|
3、寫入檔案:f.write()
4、移動游標:f.seek(偏移量,起始位置)
起始位置中:
- 0:檔案開頭
- 1:當前位置
- 2:檔案結尾
f = open('test.txt','r') f.seek(2,0) con=f.read() print(con) ''' aaa bbbbb ccccc ''' f.seek(0) # seek(0)為seek(0,0)簡寫 con=f.read() print(con) ''' aaaaa bbbbb ccccc ''' f.close()
二、應用案例-備份檔案:
# 用戶輸入 old_name = input('請輸入需要備份的檔案名:') # 檔案名截取名字和后綴,更改為新名字 index = old_name.rfind('.') if index <= 0: print('檔案名格式錯誤!') else: new_name = old_name[:index]+'_副本'+old_name[index:] # 檔案寫入 old_file = open(old_name, 'rb') new_file = open(new_name, 'wb') while True: content = old_file.read(1024) if len(content)==0: print('備份成功!') break new_file.write(content) new_file.close() old_file.close()
三、檔案和檔案夾的操作:
1、前提:匯入os模塊
import os
2、函式
| 重命名檔案、檔案夾 | os.rename(目標檔案名,新檔案名) |
| 洗掉檔案 | os.remove(目標檔案名) |
| 創建檔案夾 | os.mkdir(檔案夾名字) |
| 洗掉檔案夾 | os.rmdir(檔案夾名字) |
| 獲取當前路徑 | os.getcwd() |
| 改變默認路徑 | os.chdir(路徑) |
| 獲取目錄下檔案串列 | os.listdir(目錄) |
3、應用案例
import os print(os.getcwd()) # 獲取當前路徑 C:\Users\myUserName\PycharmProjects\demo os.mkdir('檔案夾') # 新建檔案夾 # os.remove('檔案夾') # 洗掉的是檔案夾,報錯 os.chdir('檔案夾') # 切換路徑 print(os.getcwd()) # 獲取當前路徑 C:\Users\myUserName\PycharmProjects\demo\檔案夾 i = 5 while i > 0: open('file' + str(i) + '.txt', 'w') i -= 1 # 在檔案夾下新建file1.txt~file5.txt 5個檔案

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/163635.html
標籤:Python
上一篇:機器學習第4章訓練模型
下一篇:垃圾回識訓制
