目錄檔案的修改
函式
#read在文字模式下,括號內地數字表示讀取指定的字元數
with open(r'a.txt', 'r', encoding='utf8') as f:
print(f.read(3))
print(f.read(3))
>>>你好世
>>>界 n
#read在二進位制模式下,粗氣指定的位元組數,在utf8中,通常漢字三個位元組,字母乙個位元組
with open(r'a.txt', 'rb') as f:
print(f.read(3))
print(f.read(3))
>>>你
>>>好
with open('a.txt','r',encoding='utf8') as f:
print(f.read())
f.seek(3,1)
print(f.read()) #儲存,seek(3,1),表示為相對當前游標向後移動三個位元組,而當前游標處於末尾,所有read()無法讀取內容因而報錯
with open('a.txt','rb') as f:
print(f.read(3).decode('utf8')) #讀取三個位元組的內容
f.seek(-3,2) #相對與末尾,向前移動三個位元組,然後讀取
print(f.read().decode)
>>>你
>>>xdn
'''seek方法可以控制游標的移動,無論什麼模式移動的基本單位都是位元組數
seek(offset,whence)
offset 控制的時光標的移動位數,正數從左向右,負數,從右向左
whence 表示游標的位置
0 回到檔案起始位置
1 游標當前位置
2 游標移動到檔案末尾
其中0可以用於文字文字模式,1和2只能用於二進位制模式
whence不穿引數,預設為0
'''
'''
機械硬碟上的資料有兩個狀態:
占有態自由態
刪除資料就是將資料的狀態改變成自由態,自由態的資料會被新的資料覆蓋。
檔案的內容也是寫死的,不能從中間新增新的內容,只能將老的內容刪除在新增新的
'''# 對檔案進行修該的思路1,將內容讀入記憶體,在記憶體中進行修改,在寫入硬碟覆蓋原檔案
優點:在修改檔案過程中,同一份檔案資料只有乙份
缺點:會過多的占用記憶體
with open('b.txt', 'r', encoding='utf8') as f:
data = f.read()
with open('b.txt', 'w', encoding='utf8') as f:
f.write(data.replace('張一蛋','jack'))
# 思路2,以讀的方式開啟原始檔,以寫的方式開啟乙個臨時檔案,一行行的讀取原始檔的內容,修改完後寫入臨時檔案,然後刪除原始檔,將臨時檔案重新命名
優點:不會占用過多記憶體
缺點:在檔案修改過程中同乙份資料存在兩份
'''
函式,相當乙個隨時隨地可重複使用的工具,他與迴圈有一些類似,都是要反覆的執行一段相同的**。但是不同的是,迴圈是在乙個固定的位置,通過條件判斷來確定是否執行;而函式存在的位置不固定,通過函式的呼叫來重複的執行函式體**
'''函式分為內建函式和自定義函式,內建函式就是python直譯器自帶的函式,例如len()、count()等。自定義函式則是我們自己定義的函式。
'''函式又分為有參函式和無參函式,有參函式呼叫時需要傳遞乙個引數,而無參函式則不用
'''eg:
s = 'hello world!'
# 有參函式
s.count('l')
>>>3
# 無參函式
s.len()
>>>12
def 函式名(引數1,引數2):
'''函式的注釋'''
函式**體
return 返回值
1.def
定義函式的關鍵字
2.函式名
類似與變數名,指代函式體**,命名規範與變數名一致
3.括號
函式名後面必須跟括號
4.引數
引數可以又多個或者沒有,作用是將資料傳遞給**體
5.冒號
表示又子**塊
6.函式注釋
用於解釋**功能使用方法等 當函式功能一目了然時可不寫
7.函式體**
函式的核心功能,呼叫函式時所執行的**
8.return
後面跟什麼,函式執行完後就會返回什麼
'''定義函式時,不會執行函式體**,只會檢查語法
呼叫函式需要使用函式名加括號
'''
檔案處理函式
這兩天在寫個遍歷檔案批處理的小工具,碰到幾個時間相關的函式,整理了下,說不定以後可能會再用到呢 判斷檔案是否存在 bool filei ists lpcstr filepath findclose hfind return true 獲取檔案最後修改時間距當前時間的差值 用於判斷該檔案是否正在寫的一...
檔案處理函式
前幾天參加鄭州悉知公司的校園招聘會,面試官問了很多有關檔案處理函式,當時回答的不是很少,雖然平時也經常用到有關檔案處理的函式,但是也沒對檔案處理函式做總結,檔案處理函式也是我們學習web開發中重要的一塊 這是回來之後對檔案處理函式的總結 basename 返回路徑中的檔名 c hgrp 改變檔案所屬...
檔案處理 函式
方式二函式 二 為何要有函式 三 如何用函式 函式中引數的分類 二 實參 with open a.txt mode r t encoding utf 8 as f print f.writable f.seek 7,0 f.write sb with open a.txt mode r t enco...