open()函式用於建立檔案物件,基本語法格式如下:
open(檔名[,開啟方式])
文字檔案物件和二進位制檔案物件的建立:
如果我們沒有增加模式「b」,則預設建立的是文字檔案物件,處理的基本單元是「字
符」。如果是二進位制模式「b」,則建立的是二進位制檔案物件,處理的基本單元是「位元組」。
建立檔案物件
寫入資料
關閉檔案物件
中文亂碼問題
windows 作業系統預設的編碼是 gbk,linux作業系統預設的編碼是 utf-8。當我們
用open()時,呼叫的是作業系統開啟的檔案,預設的編碼是 gbk。在檔案設定中把編碼變成gbk,再在pycharm選擇reload即可
f = open(r"b.txt",「w」,encoding=「utf-8」)也可以直接修改
write()/writelines()寫入資料
write(a):把字串a寫入到檔案中
writelines(b):把字串列表寫入檔案中,不新增換行符
close()關閉檔案流
由於檔案底層是由作業系統控制,所以我們開啟的檔案物件必須顯式呼叫close()方法
關閉檔案物件。當呼叫close()方法時,首先會把緩衝區資料寫入檔案(也可以直接呼叫flush()
方法),再關閉檔案,釋放檔案物件。
為了確保開啟的檔案物件正常關閉,一般結合異常機制的 finally或者with 關鍵字實現
無論何種情況都能關閉開啟的檔案物件。
![在這裡插with語句(上下文管理器)
with關鍵字(上下文管理器)可以自動管理上下文資源,不論什麼原因跳出with 塊,都能
確保檔案正確的關閉,並且可以在**塊執行完畢後自動還原進入該**塊時的現場。
本文檔案讀取
read([size])從檔案中讀取size個字元
readline()讀取一行作為結果返回
readlines()將每行作為乙個字串存入列表
使用pickle序列化
python中,一切皆物件,物件本質上就是乙個「儲存資料的記憶體塊」。有時候,我們
需要將「記憶體塊的資料」儲存到硬碟上,或者通過網路傳輸到其他的計算機上。這時候,就需要「物件的序列化和反序列化」。
序列化我們使用:
pickle.dump(obj, file) obj 就是要被序列化的物件,file 指的是儲存的檔案
pickle.load(file) 從file 讀取資料,反序列化成物件
csv檔案的操作
csv(comma separated values)是逗號分隔符文字格式,常用於資料交換、excel
檔案和資料庫資料的匯入和匯出。與excel 檔案不同,csv 檔案中:
值沒有型別,所有值都是字串,不能指定字型顏色等樣式
不能指定單元格的寬高,不能合併單元格,沒有多個工作表,不能嵌入影象圖表
os模組(呼叫作業系統中的檔案)
shutil模組(拷貝和壓縮)
shutil模組是python標準庫中提供的,主要用來做檔案和資料夾的拷貝、移動、刪除等;還可以做 檔案和資料夾的壓縮、解壓縮操作。 os模組提供了對目錄或檔案的一般操作。shutil模組作為補充,提供了移動、複製、壓縮、解壓等操 作,這些os模組都沒有提供。
shutil.copyfile(「1.txt」,「1_copy.txt」)
shutil.copytree(「電影/學習」,「**」,ignore=shutil.ignore_patterns(".html",".htm"))
遞迴演算法
遞迴是一種常見的解決問題的方法,即把問題逐漸簡單化。遞迴的基本思想就是「自己
呼叫自己」,乙個使用遞迴技術的方法將會直接或者間接的呼叫自己。
利用遞迴可以用簡單的程式來解決一些複雜的問題。比如:斐波那契數列的計算、漢諾
塔、快排等問題。
遞迴結構包括兩個部分:
定義遞迴頭。解答:什麼時候不呼叫自身方法。如果沒有頭,將陷入死迴圈,也就
是遞迴的結束條件。
遞迴體。解答:什麼時候需要呼叫自身方法。
python學習記錄1 基礎知識
1.在python中使用變數時,需要遵守一些規則和指南。違反這些規則將引發錯誤,而指南旨在讓你編寫的 更容易閱讀和理解。請務必牢記下述有關變數的規則。1.1變數名只能包含字母 數字和下劃線。變數名可以字母或下劃線打頭,但不能以數字打頭,例如,可將變數命名為message 1,但不能將其命名為1 me...
python基礎知識記錄
1.python 必須頂格寫,除非是巢狀在其他語句中 2.每一層巢狀需要相差4個空格,且同一級 必須對齊 3.當行注釋用 多行注釋用 三引號 注釋 或 注釋 4.if while for語句以冒號結尾,然後通過4個空格開始下一層 5.每行語句結尾不用 6.識別符號除了字母數字下劃線之外可以用中文 7...
Redis學習記錄 基礎知識
reids的預設埠號為6379 redis預設繫結ip,localhost 127.0.0.1 redis的預設的資料庫數量?從redis.conf檔案中可以得知,redis預設資料庫的數量是16個 預設從0開始 如何切換不同的資料庫?1 啟動資料庫並連線 進入預設安裝路徑 usr local bi...