最近在學Python語言基礎,爲了以後能看懂深度學習的相關python接口,上圖書館借了本《Head First Python》,內容比較淺顯,通俗易懂,暫且記下一些要點,以待日後回顧。
1.發佈自己的函數到本地,方便用import引用
1)新建一個文件夾,比如叫nester,文件夾下應該有一個py文件也叫nester,用來放自己定義的各種函數,另一個py文件叫setup,是功能文件
2)setup.py的內容如下
from distutils.core import setup
setup(
name="nester"
version="1.0.0"
py_modules=["nester"] #將模塊的元數據與setup函數的參數關聯
author="jesse"
description="new fuction"
)
3)構建發佈文件,命令爲:python3 setup.py sdist
4)將發佈安裝到Python本地副本中:python3 setup.py install
5)使用nester模塊,import nester
2.讀取文件操作
1)首先導入os模塊,切換至當前數據所在目錄
import os
os.getcwd() #查看當前目錄
os.chdir("/home/mx/chapter3") #切換到文件所在目錄
2)打開文件:data=open("name.txt")
3)一行一行地讀取:print(data.readline(),end="") #後面表示不換行
4)each_line.split(":",1) #調用split函數把一行內容分成兩部分(形成了一個不可變列表),拆分依據是冒號
5)each_line.find(":") #調用find函數查找冒號,找不到返回-1,找到就返回索引值(字符所在位置,正數)
3.保存到文件
1)用寫模式打開一個文件:out=open("data.txt","w")
2)寫入數據到文件需要參數file來指定對象:print("hello",file=out)
3)完成工作後,要關閉文件:out.close()
4.提高代碼健壯性
1)try......except......機制,try所在部分如果出錯,就會執行except部分,except部分可以爲pass語句等
2)如果異常處理代碼設計爲一種特定類型的錯誤,一定要在except後面加上錯誤類型,表明只會相應這種錯誤
ValueError 一般值運算的錯誤
IOError 讀取錯誤
4)可以用finally語句擴展try的功能,也就是finally掃尾工作,總會執行,一個例子是用finally來處理文件關閉,以減少數據破壞的可能性
5)如果想知道error的具體內容,可以嘗試如下代碼
except IERrror as err:
print("file error:"+str(err))
6)用with處理文件相當於finally的效果,但是代碼更簡潔,而且不用擔心文件關閉的問題,下面兩份代碼是等價的
try:
data=open("name.txt","w")
print("abc",file=data)
except IOError as err:
print("file error"+str(err))
finally:
if "data" in locals():
data.close()
try:
with open("anme.txt","w") as data:
print("abc",file=data)
except IOErrpr as err:
print("file error:"+str(err))
提示:with語句可以一次性定義多個文件,只需用逗號隔開即可