Python記錄4 檔案操作

2022-07-29 16:24:21 字數 3206 閱讀 9130

###檔案

'''1.

什麼是檔案

檔案是作業系統為使用者/應用程式提供一種操作硬碟的虛擬單位

2. 為何要用檔案

為了訪問硬碟資料

3. 如何用檔案

#1. 開啟檔案

#2. 讀寫檔案

#3. 關閉檔案##**作業系統資源

'''# f=open(r'c:\users\dell\desktop\a.txt',mode='r',encoding='utf-8')

# #開啟乙個檔案,後面跟檔案的位址,mode等於r表示唯讀方式,

# #小寫的r表示後面的字串沒有特別的含義

# data=f.read()

# print(data)

# print(f)

# f.close() # **作業系統資源

# with open('a.txt',mode='r',encoding='utf-8') as f1,\

#         open('b.txt',mode='r',encoding='utf-8') as f2:

#     ####以後開啟檔案用這種格式

#     print(f1.read())

#     print(f2.read())

#檔案內指標的移動

#只有t模式下的read(n)中n代表讀取的字元個數,除此外檔案內指標的移動都是以bytes為單位

# with open('e.txt',mode='rt',encoding='utf-8') as f:

#     data=f.read(4)

#     print(data)

# with open('e.txt',mode='rb') as f:

#     data=f.read(6)

#     print(data.decode('utf-8'))

# with open('e.txt',mode='r+',encoding='utf-8') as f:

#     f.truncate(3)

# 主動控制檔案內指標的移動

#f.seek(引數1,引數2)

#引數1: 控制的移動的位元組個數

#引數2: 控制參照的位置

#       0(預設的):參照檔案開頭

#       1:參照指標當前所在位置

#       2:參照指標檔案末尾

#       強調:只有0模式可以在t下使用,1和2模式只能在b模式下使用

# with open('e.txt',mode='rt',encoding='utf-8') as f:

#     a=f.seek(3,0)###第乙個引數表示開始的位置,

#     print(a)

#     print(f.read())

# with open('e.txt',mode='rb') as f:

#     # f.seek(6,0)

#     # f.read(3)

#     # f.seek(3,1)

#     # print(f.tell())

#     # print(f.read().decode('utf-8'))

##     # f.seek(-8,2)

#     # print(f.read().decode('utf-8'))

##     f.seek(0,2)

#     print(f.tell())

#小練習:tail -f access.log

# with open('access.log','rb') as f:

#     f.seek(0,2)

#     while true:

#         line=f.readline()

#         if len(line) == 0:

#             #沒有值

#             pass

#         else:

#             print(line.decode('utf-8'),end='')

#檔案修改的兩種方式:

#結論:硬碟空間都是用新內容覆蓋舊內容,不可更改,而記憶體空間是可以修改的

#之前的操作都是直接覆蓋原檔案,這個可以在原檔案的基礎上進行修改

# with open('e.txt',mode='r+t',encoding='utf-8') as f:

#     f.seek(3,0)

#     f.write('111111111111')

# 檔案修改的方式一:

# 思路:

# 1. 將檔案內容全部讀入記憶體

# 2. 在記憶體中完成修改

# 3. 將修改的結果寫回原檔案

# 優點:在檔案修改期間硬碟上就乙份資料

# 缺點:會過多地占用記憶體

# with open('e.txt',mode='rt',encoding='utf-8') as f:

#     data=f.read()

#     data=data.replace('alex','dsb')

## with open('e.txt',mode='wt',encoding='utf-8') as f:

#     f.write(data)

# 檔案修改的方式二:

# 思路:

# 1. 以讀的方式開啟原始檔,以寫的方式開啟乙個臨時檔案

# 2. 從原始檔中讀取一行內容,修改完後再寫入臨時檔案,迴圈往復直到原始檔全部讀完

# 3. 刪掉原始檔,將臨時檔案重新命名為源檔名

# 優點:不會過多地占用記憶體

# 缺點:在檔案修改期間硬碟會同時存在兩份資料

# import os

# with open('e.txt',mode='rt',encoding='utf-8') as read_f,\

#         open('.e.txt.swap',mode='wt',encoding='utf-8') as write_f:

#     for line in read_f:

#         write_f.write(line.replace('dsb','alex'))

# # os.remove('e.txt')

# os.rename('.e.txt.swap','e.txt')

4 檔案操作

學習目標 1 了解linux的目錄結構 2 掌握linux的目錄操作命令 學習過程 一 linux目錄的基本結構 根目錄,系統中所有的目錄都是從根目錄開始。bin 存放常用命令。boot 引導核心的程式目錄。dev 外部裝置名。etc etcetera 系統管理所要的配置檔案和子目錄。home 存放...

4 檔案操作

對檔案操作 對檔案操作就是對檔案的控制代碼的操作,通過open函式得到檔案的控制代碼。一 r,w,a,x,模式 r 只有讀操作,檔案必須存在。讀的時候預設游標在最開始讀,沒有寫操作,encoding在進行解碼操作。w 無法讀取檔案,只是寫操作,檔案存在覆蓋寫,檔案不存在的話,建立檔案再寫。encod...

python學習記錄(三) 檔案操作

操作檔案必須進行的三個步驟 開啟檔案 對檔案進行操作 讀,寫 關閉檔案 python中開啟檔案使用的是open函式,需要傳入檔案開啟的模式,所有檔案開啟模式如下 檔案開啟模式描述r 以唯讀模式開啟檔案,並將檔案指標指向檔案頭 如果檔案不存在會報錯 w以只寫模式開啟檔案,並將檔案指標指向檔案頭 如果檔...