如何利用python執(zhí)行txt文件中的代碼
前言:
我們知道,python代碼文件大多數(shù)都是py類型。
那么,能不能使用txt文件存儲我們的代碼呢?
python這么強大的語言當(dāng)然可以做大,只需使用內(nèi)置的exex()函數(shù)。
1.什么是exec()函數(shù)?
根據(jù)官方文檔的介紹,exec函數(shù)的定義如下:
exec(source, globals=None, locals=None, /) ? ? Execute the given source in the context of globals and locals. ? ?? ? ? The source may be a string representing one or more Python statements ? ? or a code object as returned by compile().
簡單的說,exec()可以接受代表python代碼的字符串,并將字符串作為代碼執(zhí)行(關(guān)于globals和locals的概念這里暫時先不做介紹,后續(xù)文章會進行補充)。
2.如何將txt中的代碼作為字符串讀?。?/h2>
這一步驟只需使用python內(nèi)置的文件流操作即可,比如使用File對象的read()函數(shù)將代碼一次性讀取:
with open("code.txt", "r") as f: ? ? code = f.read()
其中“code.txt”就是想要執(zhí)行的代碼,其中不應(yīng)該包含語法錯誤,否則不便于調(diào)試(最好是將已經(jīng)調(diào)試完成的代碼放入txt中)。
3.使用exec()執(zhí)行txt文件的完整例子
(1)在txt文件中寫代碼,比如:
def mul(x, y): ? ? print("x*y = {}".format(x*y)) ? ? return x*y mul(2, 3)
(2)以字符串形式讀取“code.txt”文件內(nèi)容:
with open("code.txt", "r") as f: ? ? ? ? code = f.read()?
(3)使用exec()執(zhí)行字符串:
exec(code)?
到此這篇關(guān)于如何利用python執(zhí)行txt文件中的代碼的文章就介紹到這了,更多相關(guān)python執(zhí)行txt文件代碼內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python練習(xí)之操作MySQL數(shù)據(jù)庫
這篇文章主要介紹了Python練習(xí)之操作MySQL數(shù)據(jù)庫,文章通過如何創(chuàng)建MySQL數(shù)據(jù)表?如何向MySQL表中插入數(shù)據(jù)?如何查詢MySQL中的數(shù)據(jù)?的三個問題展開了詳細的內(nèi)容介紹2022-06-06Python深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)殘差塊
這篇文章主要為大家介紹了Python深度學(xué)習(xí)中的神經(jīng)網(wǎng)絡(luò)殘差塊示例詳解有需要的 朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步2021-10-10CentOS中使用virtualenv搭建python3環(huán)境
virtualenv可以搭建虛擬且獨立的python環(huán)境,可以使每個項目環(huán)境與其他項目獨立開來,保持環(huán)境的干凈,解決包沖突問題。下面我們來詳細探討下centos中如何來搭建。2015-06-06使用Python的Tornado框架實現(xiàn)一個簡單的WebQQ機器人
這篇文章主要介紹了使用Python的Tornado框架實現(xiàn)一個簡單的WebQQ機器人,Tornado的異步特性可以提高I/O性能,需要的朋友可以參考下2015-04-04