Python基礎語法十三 檔案操作

2021-10-07 20:27:49 字數 4379 閱讀 5978

計算機的儲存系統分為執行記憶體和硬碟兩種

執行記憶體:用來儲存程式執行過程中產生的資料,程式執行結束後會自動銷毀

硬碟 :用來儲存檔案,儲存在檔案中的資料就是儲存在硬碟中的,除非手動刪除,否則資料會一直在

資料持久化就是將資料以各種形式儲存在硬碟中(儲存到本地檔案中)

檔案操作基本步驟:開啟檔案 -> 操作檔案(讀、寫) -> 關閉檔案

open(file, mode=『r』, encoding=none) - 以指定的模式開啟指定的檔案,並且返回乙個檔案物件

說明:file - 檔案路徑,字串型別

絕對路徑:檔案或者資料夾的全路徑(一般不寫絕對路徑)

相對路徑:只寫檔案絕對路徑的一部分,另一部分用特殊符號代替

特殊符號:./ -> 表示當前路徑 (可以省略)

…/ -> 表示當前目錄的上層目錄

…/mode - 開啟方式,字串型別

第一組:控制操作型別:

r - 以唯讀的方式開啟檔案(預設值)

w - 以只寫的方式開啟檔案,開啟前會先清空原檔案的內容

a - 以只寫的方式開啟檔案,不會清空

第二組:控制資料型別(文字資料-str/二進位制資料-bytes):

t - 操作的資料是文字資料(預設值)

b - 操作的資料是二進位制資料

注意:每一組只選乙個,兩組值進行組合使用

encoding - 文字編碼方式;直接寫』utf-8』

注意:如果開啟方式中帶b,就不能設定encoding

close()

open(』/users/zhangzhishuai/desktop/千峰/01語言基礎/day14-檔案操作/files/text.txt』)

open(』./files/text.txt』)

檔案物件 = open()

操作檔案物件

檔案物件.close

with open(檔案路徑, 檔案開啟方式, encoding=文字編碼方式) as 檔案物件:

操作檔案物件

f = open(『files/text.txt』, encoding=『utf-8』)

print(f.read())

f.close()

with open(『files/text.txt』, encoding=『utf8』) as f:

print(f.read())

1)檔案物件.read() - 從檔案讀寫位置開始,讀到檔案的結尾(預設情況下讀寫位置在開頭)

2)檔案物件.readline() - 讀文字檔案的一行內容,從當前讀寫位置讀到一行的結束

3)檔案物件.readline() - 一行一行的讀,讀完為止,返回的是乙個列表,列表元素是每一行的內容

with open(『text2.txt』, 『r』, encoding=『utf8』) as f:

print(『第一次』, f.read())

print(『第二次』, f.read())

with open(『text2.txt』, 『r』, encoding=『utf8』) as f:

print(『第一次』, f.readline())

print(『第er次』, f.readline())

1.資料持久化的基本操作

a. 資料儲存在檔案中

b.需要資料時候從檔案中取讀資料

c.當資料發生改變的時候,對儲存資料的檔案進行更新

注意:如果以讀的方式開啟乙個不存在的檔案,會報錯,如果是以寫的方式開啟乙個不存在的檔案,不會報錯,而且會自動新建這個檔案

練習:寫乙個程式,統計這個程式啟動的次數

with

open

('text2.txt'

, encoding=

'utf8'

)as f:

count =

int(f.read())

count +=

1print

(count)

with

open

('text2.txt'

,'w'

, encoding=

'utf8'

)as f:

f.write(

str(count)

)

names =[,

,]#1.字典和列表的寫操作 先將列表或字典轉換成字串

with

open

('text2.txtf'

,'w'

, encoding=

'utf-8'

)as f:

f.write(

str(names)

)#2.字典和列表的讀操作

with

open

('text2.txt'

,'r'

, encoding=

'utf-8'

)as f:

content = f.read(

)print

(content)

print

(type

(content)

) new_content =

eval

(content)

print

(new_content)

print

(type

(new_content)

)for item in new_content:

print

(item)

defadd_students()

: name =

input

('姓名:'

) age =

input

('age:'

) tel =

input

('tel:'

) stu =

with

open

('text2.txt'

,'r'

, encoding=

'utf-8'

)as f:

all_students =

eval

(f.read())

with

open

('text2.txt'

,'w'

, encoding=

'utf-8'

)as f:

f.write(

str(all_students)

)add_students(

)

1.什麼是json

import json

1)存在的意義

json就是不同程式語言之間進行資料交流的一種通用格式

2)概念

json是一種資料格式

a.乙個json有且只有乙個資料

b.這個資料是json支援的資料型別的資料

3)json支援的資料型別

數字型別 字串 布林 陣列 字典(物件) 空值(null)

數字型別:所有的數字對應的型別 支援科學計數法

字串:只能是雙引號引起來,支援轉義字元

布林:true false 都要小寫

陣列:相當於python的列表

字典:相當於python字典但是字典的key只能是字串,

空值:null 相當於python中的none

2.json轉python

json python

數字型別 數字

字串 字串(可能會將雙引號變成單引號)

布林 布林(小寫變大寫)

陣列 列表

字典 字典

空值(null) 空值(none)

json.loads(字串) : 將json格式的字串轉換成python對應的資料(這的字串的內容必須滿足json格式)

3.python轉json

python json

int/float 數字型別

字串 字串都變成雙引號

布林 布林(大寫變小寫)

列表/元組 陣列

字典 字典

none null

json.dumps(資料) : 將指定的python資料轉換成json格式的字串

result = json.loads(

'"abc"'

)print

(result)

print

(type

(result)

)result = json.dumps([1

,'qeq'

,true

,none])

print

(result)

print

(type

(result)

)

Python基礎語法(十三)

3.製作模組 4.模組定位順序 5.all 2.包 2.匯入包 3.dict 乙個python檔案,以.py結尾,包含了python物件和python語句。模組能定義函式,類和變數,模組裡也能包含可執行的 import 模組名 from 模組名 import 功能名 from 模組名 import ...

python的基礎操作 Python基礎操作彙總

變數命名 變數名只能是字母 數字或下劃線的任務組合 變數名的第乙個字元不能是數字 不能使用一些預留的關鍵字,如and,as assert,break,etc.官方推薦明明方式 name of bf python 沒有常量的說法,推薦到全大寫表示常量 字元發展史 ascii gb2312 gbk1.0...

Python基礎 Python語法基礎

關鍵字是python語言的關鍵組成部分,不可隨便作為其他物件的識別符號 andas assert break class continue defdel elif else except exec finally forfrom global ifimport inis lambda notor p...