python基礎知識學習記錄,day10

2021-10-23 19:32:10 字數 2587 閱讀 2841

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...