1.什麼是包
包含__init__.py檔案的資料夾就是包
包:用來對模組(py檔案)進行分類或者封裝
2.怎麼使用包中的模組
import 包名.模組名
包名.模組名.變數
import 包名.模組名 as 新名
對』包名.模組名』 進行重新命名,命名通過』新名.變數』 的方式使用變數
from 包名 import 模組名1, 模組名2…
from 包名 import 模組名 as 新名
import 包名.模組名 import 變數
3.定製包的__init__.py檔案
不管用什麼樣的方式匯入包或者包中的內容的時候,系統都會先去執行__init__.py檔案
1.資料持久化
計算機儲存資料
程式中的資料預設情況下都是儲存在執行記憶體中,儲存在執行記憶體中的資料在程式結束後會自動銷毀
儲存在磁碟中的資料,除非是手動刪除或者磁碟損壞,資料會一直存在
資料持久化的過程
將程式中的資料通過檔案儲存在磁碟中,這個過程就是資料持久化的過程
資料持久化的工具:普通文字檔案(.txt)、資料庫檔案(.sqlite、.db)、json檔案、plist檔案、csv檔案、excel檔案等
2.檔案操作(操作檔案內容)
操作檔案的基本步驟:開啟檔案、讀寫操作、關閉檔案
3.python實現檔案操作
open(file, mode=『r』,…, encoding=none) - 以指定的方式開啟指定的檔案並且返回(返回的是檔案物件)
file - 字串,需要開啟的檔案路徑
路徑:絕對路徑 - 檔案在計算機中的全路徑
相對路徑 - 用.來代替檔案全路徑的部分,只寫部分路徑
. - 表示當前目錄(當前**檔案所在的目錄),可省略不寫
… - 表示當前目錄的上層目錄
… - 表示當前目錄的上上層目錄
mode - 字串,開啟方式(決定開啟檔案後檔案能支援的操作;決定讀寫資料的型別)
『r』 - 表示唯讀(預設)
『w』 - 表示只寫,開啟之後會清空原檔案
『a』 - 表示只寫,開啟之後會保留原檔案內容
『t』 - 表示文字資料,對應str型別(預設)
『b』 - 表示二進位制資料,對應bytes型別
『rt』/『tr』/『r』
『wt』/『tw』/『w』
『wb』/『tw』
注意:以讀的形式開啟乙個不存在的檔案會報錯;
以寫的形式開啟乙個不存在的檔案不會報錯,並且會自動建立
如果是文字檔案,開啟的時候可以是b也可以是t
如果是非文字檔案,開啟的時候只能是』b』
encoding - 設定文字檔案的編碼方式,一般使用』utf-8』
注意:1.建立檔案和開啟檔案、讀和寫對應的編碼方式要一致
2.開啟的時候如果帶』b』,不能設定encoding
1).讀
檔案物件.read() - 從讀寫位置開始讀到檔案結尾
檔案物件.seek(0) - 將讀寫位置移動到檔案開頭(讀的方式開啟讀寫預設位置在檔案開頭,寫的方式開啟讀寫位置預設在檔案結尾)
2).寫
檔案物件.write(資料) - 將指定資料寫入檔案中(從讀寫開始寫)
3).檔案關閉
檔案物件.close()
注意:檔案關閉後不能再進行讀寫操作
1.怎麼做到資料持久化
1)建立乙個檔案用來儲存需要持久化的資料
2)需要這個資料的時候從檔案中去獲取這個資料
3)如果在程式中對這個資料進行修改,需要將最新的資料更新到檔案中
f =
open
('test/count.txt'
)num =
int(f.read())
num +=
1print
(num)
f =open
('test/count.txt'
,'w'
)f.write(
str(num)
)f.close(
)# 練習2:新增學生
# a.每執行一次程式新增乙個學生,並且列印已經新增過的所有的學生
# b.每執行一次程式新增乙個學生,並且以列表的形式列印已經新增過的所有的學生
# stu1 -> stu1 ['stu1']
# stu2 -> stu1 stu2 ['stu1', 'stu2']
# 小明 -> stu1 stu2 小明 ['stu1', 'stu2', '小明']
name =
input
('請輸入學生名字:'
)f =
open
('test/student.txt'
)result = f.read(
)all_students =
eval
(result)
print
(all_students)
f =open
('test/student.txt'
,'w'
)f.write(
str(all_students)
)f.close(
)
day13包和檔案操作
包 在python中用來專門管理py檔案的資料夾,並且在這個資料夾中有乙個特殊的檔案 init py 普通資料夾 專案中的普通資料夾主要是用管理專案需要的非 檔案 採用匯入的方式來使用包 匯入的方式有四種 1 import 包名 匯入後可通過 包名.去使用 init py中定義的所有全域性變數 2 ...
Day13 包和檔案操作
包含 init py檔案的資料夾就是包 包用來對py檔案 模組 進行分類或者封裝 import 包名.模組名 包名.模組名.變數 import 包名.模組名 as 新名 對 包名.模組名 進行重名命,命名通過 新名.變數 的方式使用變數 from 包名 import 模組名1,模組名2,模組名.變數...
day13 包和檔案操作
包含 init py的檔案的資料夾就是包 包用來對py檔案 模組 進行分類或者封裝 import 包名.模組名 包名.模組名.變數 import 包名.模組名 as 模組名1 對 包名.模組名 進行重新命名,命名通過 模組名1.變數 的方式使用變數 通過from 匯入包 from 包名 import...