python學習筆記(2)

來源:互聯網
上載者:User

標籤:read   程式碼   err   font   line   解譯器   參數   readlines   __str__   

一、模組和包

1.命名空間

  有3類命名空間,分別為內建命名空間,全域命名空間,局部命名空間。內建命名空間在Python解譯器啟動時建立,全域命名空間在該模組被匯入時建立,他倆都會 一直保持到解譯器退出。局部命名空間在函數被調用時建立,返回或引發異常時刪除。

2.模組

  把一組相關的名稱,函數,類或者他們的組合組織到一個檔案中。檔案是物理層上組織模組的方法。一個檔案被看做一個獨立的模組。

匯入模組:

import module1

import module2 或者

import module1,module2

當出現匯入模組失敗時,可能的原因是模組不在搜素路徑裡,從而導致了路徑搜素的失敗。

import sys

sys.path.append(‘包儲存路徑‘)

或者設定PYTHONPATH環境變數

還可以匯入指定函數或者模組。

from module import name1,name2

如果需要把指定模組的所有屬性都匯入到當前名稱空間可使用

from module import *

可使用 import Mymodule as mm 來指定局部綁定名稱。

模組匯入的特性:

1)載入時執行模組

2)一個模組無論被匯入多少次,都只會載入一次。

二、異常

1. try ...except語句

try:

 <需要執行的程式碼>

except 異常類1[,異常資訊變數]:

 <異常時執行的代碼>

except 異常類2[,異常資訊變數]:

 <異常時執行的代碼>

2.try ...except...else語句

使用與1相似,只是try語句沒有發生異常時,程式跳過所有的except執行else子句中的代碼。

3.try ...except...finally語句

使用與1相似,無論是否發生異常,finally中的語句肯定會被執行。

4.拋出異常  raise 異常類[,異常參數]

5.自訂異常,必須繼承Exception或者BaseException

class UserInfoError(Exception):

 def __init__(self,code,message):

  self.code=code

  self.message=message

 def __str__(self):

   errorJsonInfo = ‘{"code":"%d","message":"%s"}‘ %(self.code,self.message)

   return errorJsonInfo

三、檔案

1.開啟,可以使用open 或者file內建函數開啟   open(filename,accessmode=‘r‘,buffering=-1),accessmode表示開啟的模式,選擇性參數為‘r’,‘w’,‘a’等。buffering表示緩衝方式,0表示不緩衝,1表示只緩衝一行資料,大於1 的表示緩衝區大小,0表示不緩衝。

 例如:

file1=open(‘1.jpg‘,‘rb‘)

 2.關閉 使用close()函數關閉檔案

3.讀寫

 1)檔案的讀取,分別是read(),readline(),readlines()

   read([size]):有一個選擇性參數size,表示讀取前size個長度的內容。參數不指定或指定負值,將讀取檔案的所有內容。

   readline([size]):這個size與read函數的不同,他是指讀取指標指定行的前size個位元組的長度。

   readlines():一次性讀取當前位置指標指向處後面的所有內容,函數返回的是一個每行資料群組成的一個列表。

2)寫入,使用write()函數和writelines函數

  write:把一個字串寫入到檔案中

  WriteLines:把列表中的字串內容寫到檔案中

3)檔案的定位

 fileRef.seek(offset,startpoint=0),startpoint用0,1,2代替,0表示檔案開始,1表示當前位置,2表示檔案末尾,預設為0.offset表示以startpoint為基點,往後移動的位元組數

fileRef.tell():得到位置指標的當前位置,相對於檔案開頭的位移量。

 

python學習筆記(2)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.