Python檔案讀寫筆記 3

2021-10-10 10:24:33 字數 2055 閱讀 1809

一.檔案:被持久化的字串,被持久化儲存在磁碟上的字串。

二.讀操作:將檔案中的字串載入進記憶體。

三.寫操作:將字串寫入到磁碟中的操作。

四.open函式:用於讀寫檔案。

eg:print(help(open))

引數:①file:檔名

注意路徑:絕對路徑r"c:\test\hello.txt"

相對路徑 next \a.txt

②encoding:指定open函式在讀寫檔案時使用字符集。

windows預設字符集是gbk;

notepad++預設字符集是utf-8;

open函式在windows上預設為gbk字符集,在linux上預設是utf-8;

open函式執行後返回乙個檔案物件;

③mode:「r」唯讀模式(預設)

「w」只寫模式,檔案不存在可以建立檔案,檔案存在時覆蓋檔案。

「a」追加模式,檔案不存在建立檔案,檔案存在時將內容新增到檔案末尾。

④檔案物件read()方法預設將檔案中所有的字串讀取到記憶體,也可以根據字串個數讀取read(n)【n表示字元個數】。(檔案中的換行也佔乙個字元。使用「\n」表示。)

⑤readline()按行讀取資料

readlines()將所有資料按行存放到列表中。

eg:

f=

open

(r"d:\python\test1.txt"mode=

"r",encoding=

"utf=8"

)foods=f.readlines(

)f.close(

)print

(foods)

⑥ writelines(list)將列表中字串直接寫入到檔案

write(string)將字串寫入到檔案

eg:

f2=

open

(r"d:\python\test1.txt"mode=

"w",encoding=

"utf=8"

)f2.writelines(foods)

f2.write(

"蘋果\n香蕉\n橘子\n芒果"

)f2.close(

)print

(foods)

五.自定義模組

.py就是乙個模組,python檔案都可以作為模組被呼叫。

使用關鍵字import或者from***import***(導用模組)

eg:

import m1 #import 後面加模組的名字

print

(m1.a,m1.b,m1.a+m1.b)

#a,b代表m1模組中的檔案

eg:

from m1 import hello,a,b

hello(

)print

(a,b,a+b)

包:存放模組的乙個資料夾,–init–.py(用於做全域性的設定)

(注:.py檔案可以為空但必須存在)

eg:

#第一種

import bao

bao.a.hello(

)#第二種

from bao.m1 import hello #只引用乙個模組

from bao import

*#可引用多個模組

m2.add(m1.a,m1.b)

print

(m2.add(m1.am1.b)

)

.pyc檔案:是經過python編譯後得模組檔案,用於加快模組的速度

eg:

import sys #sys 用於設定python解釋編輯器模組

"f://"

)from bao import

*print

(m2.add(m1.a,m1.b)

)

安裝第三方模組:

(1)安裝:pip install 模組名

(2)解除安裝:pip uninstall 模組名

(3)檢視所有安裝;pip list

python3讀寫檔案

一 系統預設的編碼格式為utf8 二 讀寫檔案時通過引數encoding utf8 指定編碼格式,否則檔案在本地開啟時會亂碼 與系統預設編碼不符,參考第1條 三 例項 設定編碼格式為utf8,本地開啟和程式讀取都展示正常,無亂碼 text 我是xx,我愛python f open a.txt w e...

Python學習筆記 檔案讀寫

參見網易雲課堂 瘋狂的python 第32課時 用python 來進行檔案處理,有何意義?自然首先想到的是可以查詢和更改檔案的屬性,分類和具體資訊。比如說分析log日誌,用正則查詢log裡所需要的內容。比如說寫個簡單的防毒軟體,或者做乙個檔案處理軟體等。所涉及的內容如下 1.檔案的開啟和建立 開啟需...

python小筆記 檔案讀寫

和c是相容的 檔案讀取 過程 1 開啟檔案 2 讀檔案內容 3 關閉檔案 1.開啟檔案 open path,flag path 要開啟檔案的路徑 flag 開啟方式 r 以唯讀的方式開啟檔案,文案件的描述符放在檔案的 開頭 rb 一二進位制格式開啟乙個檔案用於唯讀,檔案的描述符放在檔案的開頭 r 開...