python讀寫調用函數 python讀文件函數

在Python中使用字符串調用函數

已有字符串形式的函數名稱,那么如何調用這個函數呢?

創(chuàng)新互聯公司堅持“要么做到,要么別承諾”的工作理念,服務領域包括:成都做網站、網站制作、企業(yè)官網、英文網站、手機端網站、網站推廣等服務,滿足客戶于互聯網時代的容城網站設計、移動媒體設計的需求,幫助企業(yè)找到有效的互聯網解決方案。努力成為您成熟可靠的網絡建設合作伙伴!

通過調用內置函數locals()和globals()返回的字典對象,就可以可以獲得名稱與對象的映射關系。其中,locals()僅在全局范圍內調用時可以獲得函數對象。 我們來看以下的例子。

需要注意的是,使用上述方法通過字符串調用函數時,為了系統(tǒng)的安全,防止執(zhí)行任意函數,需要對函數名做一些處理,也就是使用統(tǒng)一的前綴為這些函數命名。例如在上述例子中,使用前綴cmd_+函數名的形式定義函數(cmd_help,cmd_sum)。

在傳入函數名字符串時,只傳入函數名的后半部分(如"help","sum"),由程序添加前綴后組成完整的函數名,再調用該函數。

對于類的成員函數,則可以使用getattr()獲得類成員函數。

上述代碼通過字符串調用了類成員函數,與前一段代碼執(zhí)行的結果相同。

此外,還可以使用字典將字符串與函數對應起來調用,缺點就是每增加一個函數需要相應在字典對象中添加相應的鍵值,增加代碼維護工作量。

以上代碼在Python 3.6以上運行通過。

Python文件讀寫

常見的讀寫操作:

Python內置了讀寫文件的函數,用法和C是兼容的。本節(jié)介紹內容大致有:文件的打開/關閉、文件對象、文件的讀寫等。僅示例介紹 TXT 類型文檔的讀寫,也就是最基礎的文件讀寫,也需要注意編碼問題;

open()?? close()???? with open(...) as ...

看以下示例就能了解 Python?的 open()?及?close()?函數。這邊調用 read()方法可以一次讀取文件的全部內容,Python把內容讀到內存,用一個str對象表示,具體使用參見下文。

在 E 盤 python_file 文件夾下新建一 a.txt,輸入隨意,如下:

Python 操作 打開及關閉方式 如下:

注意 open() 之后 一定要 close()。但由于文件讀寫時都可能產生IOError,為了保證無論是否出錯都能正確地關閉文件,我們用 try ... finally 來實現:

python 簡化了改寫法,即用 with open(...) as ...? ; 建議之后文件讀寫都用該寫法:

上面,你肯定注意到了參數 "r";該參數決定了打開文件的模式:只讀,寫入,追加等。所有可取值見如下的完全列表。這個參數是非強制的,默認文件訪問模式為只讀(r)。

相關參數:

File 對象

file 為一對象,它有一些內置屬性,如下

file對象的屬性:

read()??? read(size)?? readline()?? readlines()

之前的例子已經接觸到了 read() 函數,該函數會會一次性讀取文件的全部內容,如果能確保文件的大小,自然可以。但若文件過大,內存就爆了,所以,可以反復調用read(size)方法,每次最多讀取size個字節(jié)的內容;也可調用 readline() 每次讀取一行內容;而調用readlines()可以一次讀取所有內容并按行返回list。總之,根據需求來。僅以 txt 文件為例,其他的文件讀取需要特殊處理;另外,文件的格式編碼方式也需要注意;這邊僅介紹讀取方法,其他的會出專題來學習。

在D:\python_file 下新建 poet.txt;示例如下,由于一個中文會占多個字節(jié),故read(size) 部分會亂碼,如:

write()

寫文件和讀文件是一樣的,唯一區(qū)別是調用open()函數時,傳入標識符'w'或者'wb'表示寫文本文件或寫二進制文件;'a' 對應的表示追加等。

如下示例,由于 write.txt 文件不存在,創(chuàng)建該文件并寫入:

在上例基礎上,繼續(xù),該文件被重寫:

繼續(xù),這次使用追加,會在文件結尾追加:

python怎么調用自己寫的函數

函數調用的基本語法格式如下所示:

[返回值] = 函數名([形參值])

其中,函數名即指的是要調用的函數的名稱;形參值指的是當初創(chuàng)建函數時要求傳入的各個形參的值。如果該函數有返回值,我們可以通過一個變量來接收該值,當然也可以不接受。

網站題目:python讀寫調用函數 python讀文件函數
URL鏈接:http://muchs.cn/article44/hjcsee.html

成都網站建設公司_創(chuàng)新互聯,為您提供虛擬主機、網站設計公司、網站內鏈定制開發(fā)、品牌網站制作、網站策劃

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯

網站建設網站維護公司