1. 程式人生 > >Python 學習(4):基礎知識點

Python 學習(4):基礎知識點

記錄Python中關於異常、檔案讀取、序列化的相關知識點。

異常

python中對於錯誤的處理,也採用了異常的處理機制。

舉例

try:
    print('try...')
    r = 10/0
    print('result:',r)
except ZeroDivisionError as e:
    print('except:',e)
finally:
    print('finally...')
print('End')

輸出結果:

try...
except: division by zero
finally...
End

從結果可以看出,把有有可能出現錯的程式碼段放在try

程式段中,如果出現錯誤(異常)。程式不再執行接下類的語句,而是直接跳轉到except程式段中進行異常處理。之後再執行finallty程式段中的程式。

檔案

python 提供了對於磁碟的IO讀寫功能

檔案讀取

f = open('C:\\Users\\hh\\Documents\\PythonWorks\\test.txt','r')
print(f.read())
f.close

當檔案不存在的時候回報錯,所以可以用異常去捕獲

try:
    f = open('C:\\Users\\hh\\Documents\\PythonWorks\\test.txt'
,'r') print(f.read()) finally: if f: f.close()

python 提供了簡便寫法

with open('C:\\Users\\hh\\Documents\\PythonWorks\\test.txt','r')as f:
    print(f.read())

無需用try語句,也無需主動關閉檔案。
如果需要讀取二進位制檔案(圖片,音訊)。可以把r變為rb。如果讀取其他編碼的檔案,可以傳入encoding 引數

檔案寫入

with open('C:\\Users\\hh\\Documents\\PythonWorks\\test.txt'
, 'w') as f: f.write('Hello, world!')

格式化

程式執行的時候變數都是儲存在記憶體中的,為了方便資料的儲存和在網路上的傳輸。提出課序列化的處理方式

序列化 反序列化

import pickle
d=dict(name = 'hh',age = 20,score = 90)
with open('C:\\Users\\hh\\Documents\\PythonWorks\\test.txt', 'wb') as f:
    pickle.dump(d,f)

with open('C:\\Users\\hh\\Documents\\PythonWorks\\test.txt', 'rb') as f:
    d2 = pickle.load(f)
print(d2)

把一個dict序列化後存在磁碟上,然後在讀回,反序列化後列印。

相關推薦

Python 學習(4):基礎知識點

記錄Python中關於異常、檔案讀取、序列化的相關知識點。 異常 python中對於錯誤的處理,也採用了異常的處理機制。 舉例 try: print('try...') r = 10/0 print('resu

Python學習筆記-基礎Day01

虛擬機 python 處理器 Python與其他語言的對比:C 和 Python、Java、C#對比C語言:代碼編譯得到機器碼,機器碼在處理器上直接執行。其他語言:代碼編譯得到字節碼,虛擬機執行字節碼並轉換成機器碼然後在處理器上執行Python之類的高級語言相對C語言開發效率較高,不需要開發者考慮

Python學習字典.基礎

鍵值 python學習 一個 方括號 strong 花括號 定義 數據類型 print 元組   Python的元組與列表類似,不同之處在於元組的元素不能修改。   元組使用小括號,列表使用方括號。   元組中要定義的元組中只有一個元素需要再元素後面加逗號,用來消除數學

python學習筆記(基礎)

python剛開始學,可能記得有點亂,因為本人習慣在作業本上記筆記,慢慢改進。。。。。Python純面向對象的編程語言 數據類型:這段數據在內存中的組織方式 Python:強類型的動態語言動態:整型:a=1 字符型:b=aaa強類型:a+b不可執行,類型不同Str(a) 運算符重載‘1’Str(a)

Python學習——01Linux基礎之常用基本命令

ima log 保存 展示 4行 ges 插入模式 列表 es2017 做Linux要知道兩件事: 首先知道自己處在什麽位置(桌面……) 區分大小寫 pwd:查看當前所在目錄 “/”代表:根目錄 Cd:

python學習基礎:編碼

file 包含 int meta nic char not in tar python解釋器 參考網址:https://www.xncoding.com/2015/10/24/python/unicode.html 在計算機內存中,統一使用Unicode編碼,當需要保存

python學習4

-s font 代碼 Language following 有用 col 其中 for 一、遍歷字典:   遍歷所有的鍵—值對: user_0 = { ‘username‘: ‘efermi‘, ‘first‘: ‘enrico‘, ‘last‘: ‘fermi‘, }

老男孩python學習--linux基礎命令學習

學習 direct director nbsp more 返回 顯示隱藏文件 bsp rect pwd 顯示當前目錄 cd (change directory ) cd / ls 查看當前目錄下所有文件 ls -l 列出當前目錄詳細文件信息 cd .. 返回上一層目錄 v

python學習基礎語法循環語句

21.輸入一個5位數字,判斷其位數: val = input("please input a 1-99999 number:") vals = int(val) if vals >= 1000: if vals >=10000: print("This is 5")

python學習基礎

學習 功能 linu 輸出 程序 語言 記錄 自己的 mat python是一種實際應用較為廣泛的語言,並且python的使用是完全免費的,python是一種面向對象(oop)的語言,類模塊支持多繼承,多態等。筆者認為python最強大之處是可以靈活調用其他語言的程序為其所

2.Python學習筆記:基礎

沒有 span pre code max 不執行 con 偶數 while循環 輸出三個數中最大值: num1=int(input(‘num1:‘)) num2=int(input(‘num2:‘)) num3=int(input(‘num3:‘)) if num1>

3.Python學習筆記:基礎

tro 完成 put == 整數 不執行 退出 %s mage 字符串的格式化輸出:   %s  占位符   %d  整數   %f  浮點數 name=input(‘你的姓名:‘) age=int(input(‘你的年齡:‘)) job=input(‘你的工作:‘) s

Python學習_1_基礎知識

sdf hello orm 結束 命名規則 def 字符 for 常用數據類型 1. 命名規則 1> 不以數字開頭,不用中文命名 2>不用關鍵字 int/pass/def/return等 3>使用字母,數字,下劃線命名 如class_0622 4>

python學習4——提問

type trac ear rec ror efi 結果 fin 不能 一、打印出改變了的輸出。 因為沒有任何計算機基礎,所以出錯很多,摸索了一會。 出錯1: print("How old are you?"),age = raw_input()print("What

Python中一些基礎知識點的匯總:零基礎也能看懂的Python基礎

裏的 方法 format 官網 str 啟動 基礎知識 mea 輸出字符串 ①首先得去官網下載個Python,目前最新版本我不太清除。下載鏈接http://www.python.org/downloads/。下載完成後直接啟動python shell 開始你的py

Java學習---面試基礎知識點總結

定向 finall 響應 背景 包括 區別 虛引用 protect 多態 Java中sleep和wait的區別① 這兩個方法來自不同的類分別是,sleep來自Thread類,和wait來自Object類。 sleep是Thread的靜態類方法,誰調用的誰去睡覺,即使在a線

Mysql學習---面試基礎知識點總結

drop let 分組 知識點總結 樣式 delet 基礎 order by count 1、drop、truncate、 delete區別 TRUNCATE TABLE 在功能上與不帶 WHERE 子句的 DELETE 語句相同:二者均刪除表中的全部行。但 TRUNCAT

Redis學習---面試基礎知識點總結

精度 rop href list ping 技術方案 分布 專業 了解 【學習參考】 https://www.toutiao.com/i6566017785078481422/ https://www.toutiao.com/i6563232898831352323/ 0.

性能測試學習(一)--基礎知識點

知識 web服務器 穩定 性能 str 檢測 存在 測試的 長時間 最近在學習性能測試,整理了下一些知識點。   首先從ISO9216質量模型切入,這個模型展示了去完整測評一個軟件的時候,需要從哪些維度去考慮。如下圖所示,一般需要從功能性、可靠性、易用性、效率、

效能測試學習(一)--基礎知識點

      最近在學習效能測試,整理了下一些知識點。   首先從ISO9216質量模型切入,這個模型展示了去完整測評一個軟體的時候,需要從哪些維度去考慮。如下圖所示,一般需要從功能性、可靠性、易用性、效率、維護性、可移植性這6個維度去測評。軟體的效能測試就是從效率這一維度去測評