2018-11-19

今天我們學習了文件和模塊對應的基本操作的知識。
首先是模塊:
1.什么是模塊
python中一個py文件就是一個模塊
2.怎么關聯(lián)多個模塊
方式1:
import 模塊名 - 將指定的模塊導入到當前的模塊中(模塊名就是py文件的文件名),導入所有的全局變量

說明:
a.執(zhí)行import的時候,實質會進入指定的模塊對應的py文件中,去執(zhí)行里面的代碼
b.通過import導入一個模塊后,可以通過 模塊名.全局變量 的方式去使用被導入的模塊中的內容
import導入模塊時,會檢測當前模塊是否已經導入過,如果已經導入過,就不再導入

方式2:
from 模塊名 import 變量名/函數(shù)名 - 導入模塊中指定的變量或者函數(shù)

說明:
a.執(zhí)行到導入模塊的語句的時候,還是會先執(zhí)行指定模塊中的所有語句
b.通過from-import導入的時候,導入多次還是只執(zhí)行一次(查重)
c.使用的時候只能用import后面的變量/函數(shù),而且用的時候不用在前面加模塊名
d.import后面可以使用逗號將多個變量或者函數(shù)隔開,
也可以使用*,將模塊中所有的全局變量一起導入

函數(shù) - 對功能進行封裝 例:獲取當前時間對應的代碼封裝到函數(shù)中
模塊 - 對多個功能和多個數(shù)據進行封裝 例:將所有和時間相關的函數(shù)和變量放到一個py文件中
包 - 對多個模塊進行封裝 例:將所有和時間相關的py文件放到一個文件夾中
什么是包:含有 init.py 文件的文件夾

3.重命名
import 模塊名 as 新模塊名
from 模塊名 import 變量名 as 新變量名

4.包的導入
import 包名 - 會直接執(zhí)行包中的init.py文件中的代碼
import 包名.模塊名 - 導入指定包中的指定模塊

選擇性導入:
在模塊中將不需要其他模塊導入和執(zhí)行的代碼寫到 if name == 'main' 語句中。
這樣就可以阻止代碼被其他模塊執(zhí)行

原理:每個模塊都有一個name屬性,屬性默認值是模塊對應的py文件名字。
當正在直接執(zhí)行模塊的時候,模塊的name屬性值就會變成'main'。
當import模塊的時候,執(zhí)行模塊,模塊的name的屬性值就不是'main'。

下面是文件的基本操作:
1.數(shù)據本地化
將數(shù)據以文件的形式,存儲到本地磁盤中。
(程序中變量保存的數(shù)據都是存到內存當中的,當程序運行結束,內存中的數(shù)據會銷毀)

常見的數(shù)據本地化方式:二進制文件(包含音頻、視頻、壓縮包等),普通文本文件,json和xml文件,數(shù)據庫文件等

2.文件操作(讀和寫)
文件操作的固定步驟:打開文件(新建文件) - 文件操作(讀/寫) - 關閉文件

3.打開文件
open(file, mode='r', ..., encoding=None)

說明:
file - 字符串;需要打開的文件的路徑(可以是絕對路徑,也可以是相對路徑)
絕對路徑(一般不使用):
相對路徑:(相對當前py文件對應的目錄)
./ -- 當前目錄(./可以省略) aaa.txt 或者 ./aaa.txt
../ -- 當前目錄的上層目錄
.../ -- 當前目錄的上上層目錄

mode - 打開方式;打開文件后不同的操作對應的打開方式不一樣
'r' - 默認值,以讀的方式打開文件,讀出來的是字符串
'w' - 以寫的方式打開文件
'rb'/'br' - 以讀的方式打開,讀出來的數(shù)據是二進制
'wb'/'bw' - 以寫的方式打開,寫二進制數(shù)據到文件中
'a' - 以寫的方式打開,追加
'+' - 以讀、寫的方式打開

encoding - 文本文件編碼方式,一般賦值'utf-8'
utf-8 - 支持中文編碼
gbk - 不支持中文編碼

4.文件的操作
文件對象.read() - 從文件讀寫位置開始讀到文件結尾(默認就是獲取文件中所有的內容)

5.文件的寫操作
文件對象.write(字符串) - 將字符串中的內容寫入到文件中

'w' - 完全覆蓋
'a' - 在原文件后面添加

6.關閉文件
文件對象.close() - 關閉指定文件

二進制的讀與寫:
1.open方法的另外一種寫法:
with open(文件路徑,讀寫方式,encoding=編碼方式) as 文件對象:
文件操作

--> 打開文件,將文件存在文件對象中。當文件操作完成會自動關閉

普通的文本文件,也可以以二進制的形式讀和寫

2.二進制文件的讀
只要將讀寫方式設置為'rb'/'br'就可以了。讀出來的數(shù)據直接就是二進制數(shù)據

注意:二進制操作不能設置編碼方式

3.文件不存在
當以讀的形式打開一個不存在的文件,會報'FileNotFoundError'
當以寫的形式打開一個不存在的文件,不會報錯,并且會創(chuàng)建這個文件

文件操作的應用(難點):
例:練習:寫一個程序統(tǒng)計當前執(zhí)行的次數(shù)。第一次運行打印1,第二次打印2

指導思想:
1.使用數(shù)據的時候,去本地文件中讀取數(shù)據
2.數(shù)據修改后,再將新的數(shù)據更新到本地文件中

with open('count.txt', 'r') as f1:
count = int(f1.read())
print('第%d次進入程序' % count)

count += 1
with open('count.txt', 'w') as f1:
f1.write(str(count))

以上就是今天學習的全部內容,漸漸地開始有難度了,不過這也是一種挑戰(zhàn),繼續(xù)加油吧?。?!

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 一、Python簡介和環(huán)境搭建以及pip的安裝 4課時實驗課主要內容 【Python簡介】: Python 是一個...
    _小老虎_閱讀 6,313評論 0 10
  • 模塊和包 一 模塊 1 什么是模塊? 常見的場景:一個模塊就是一個包含了python定義和聲明的文件,文件名就是...
    go以恒閱讀 2,338評論 0 4
  • 我有個妹妹,她有時很可愛但有時卻很鬧人。 我愛她,愛她的一切,我想一直寵著她,但不想慣著她的毛病。 可愛的若寧,調...
    小九亭閱讀 588評論 0 1
  • 2018年5月3日 星期四 天氣晴 中午放學后,女兒讓我給做糯米餅吃,我說要吃自己學著做,并說自己動手,豐衣足食...
    朱嘉怡媽媽閱讀 232評論 0 0
  • 隨著年齡的增長,對世界的好奇心在減少。 一個嬰兒,剛來到這個世界的時候,一切都是新鮮的,什么都想摸摸、碰碰、聞聞,...
    崔宏雷閱讀 677評論 0 51

友情鏈接更多精彩內容