**********day14.檔案操作和異常**********=
1.回顧:
物件的優點
多執行緒程式設計流程
建立資料庫流程
2.檔案的操作
1. 開啟檔案 f = open('test.txt', 'w')
r 以唯讀方式開啟檔案。
w 開啟乙個檔案只用於寫入。 如果該檔案已存在則將其覆蓋。 如果該檔案不存在, 建立新檔案。
a 開啟乙個檔案用於追加。 如果該檔案不存在, 建立新檔案進行寫入。
r+ 開啟乙個檔案用於讀寫。 檔案指標將會放在檔案的開頭。
w+ 開啟乙個檔案用於讀寫。 如果該檔案已存在則將其覆蓋。 如果該檔案不存在, 建立新檔案。
a+ 開啟乙個檔案用於讀寫。 如果該檔案已存在, 檔案開啟時會是追加模式。 如果該檔案不存在, 建立新檔案用於讀寫。
rb 以二進位制格式開啟乙個檔案用於唯讀。
wb 以二進位制格式開啟乙個檔案只用於寫入。 如果該檔案已存在則將其覆蓋。 如果該檔案不存在, 建立新檔案
ab 以二進位制格式開啟乙個檔案用於追加。 如果該檔案不存在, 建立新檔案進行寫入。
rb+ 以二進位制格式開啟乙個檔案用於讀寫。 檔案指標將會放在檔案的開頭。
wb+ 以二進位制格式開啟乙個檔案用於讀寫。 如果該檔案已存在則將其覆蓋。 如果該檔案不存在, 建立新檔案。
ab+ 以二進位制格式開啟乙個檔案用於追加。 如果該檔案不存在, 建立新檔案用於讀寫。
2. 寫資料,關閉檔案,如:
f = open('test.txt', 'w')
f.write('hello world, i am here!')
f.close()
3. 讀資料
f = open('test.txt', 'r')
content = f.read()
如果沒有傳入num, 那麼就表示讀取檔案中所有的資料
如果open是開啟乙個檔案, 那麼可以不用謝開啟的模式, 即只寫 open('test.txt')
如果使用讀了多次, 那麼後面讀取的資料是從上次讀完後的位置開始的
content = f.readline()
返回一行資料,每呼叫一次返回一行,直到返回空字串代表檔案結束
content = f.readlines()
readlines按照行的方式讀取,返回的是乙個列表,其中每一行的資料為乙個元素
-- position = f.tell()
-- 在讀寫檔案的過程中, 如果想知道當前的位置, 可以使用tell()來獲取
4. 定位到某個位置 seek(offset, whence)
-- offset:偏移量
-- from:方向
-- 0:表示檔案開頭
-- 1:表示當前位置
-- 2:表示檔案末尾
3. 需要對檔案進行重新命名、 刪除等一些操作,python的os模組中都有這些功能
重新命名import os
os.rename("畢業**.txt", "畢業**-最終版.txt")
刪除os.remove("畢業**.txt")
建立資料夾,刪除資料夾
os.mkdir("張三")
獲取當前目錄 os.getcwd()
-- 改變預設目錄 os.chdir("../")
獲取目錄列表 os.listdir("./")
5.檔案關閉:
檔案使用結束之後一定要記得關閉。
-- close與with
檔案使用完畢後,關閉檔案很重要,因為關閉既釋放了作業系統資源也
空了緩衝區。預設情況下,寫入檔案總是緩衝的,這意味著寫入的文字
可能不會立即自動從記憶體轉換到硬碟,關閉乙個檔案,或者執行flush
方法,迫使快取的資料進入硬碟。
6.練習: 批量在檔名前加字首。
import os
funflag = 1 # 1表示新增標誌 2表示刪除標誌
# 獲取指定路徑的所有檔案名字
dirlist = os.listdir('./')
# 遍歷輸出所有檔案名字
for name in dirlist:
print (name)
if funflag == 1:
newname = '[1610a]-' + name
elif funflag == 2:
num = len('[1610a]-')
newname = name[num:]
print (newname)
os.rename(name,newname)
x
php學習 第十四節
現在對php中的時間函式加以學習。php 的 date 函式用於格式化時間或日期。php date 函式可把時間戳格式化為可讀性更好的日期和時間。date format,timestamp 引數 描述format 必需。規定時間戳的格式。timestamp 可選。規定時間戳。預設是當前的日期和時間。...
Swift4 0 學習筆記 第十四節 閉包的定義
viewcontroller.swift 003 閉包的定義 created by 莊壯勇 on 2018 1 5.import uikit class viewcontroller uiviewcontroller 執行閉包 b1 2 帶引數的閉包 閉包中,引數,返回值,實現 都是寫在 彙總 需要...
第十四章 過載操作與轉換 一
1 這4個符號不能過載 2 過載操作必須有乙個類型別的運算元 強制過載操作符不能重新定義在已有的內建型別中 3 優先順序和結合性是固定的 4 過載後 不再具有短路求值特性 1 必須作為非成員函式 2 輸出 ostream operator ostream os,const classtype obj...