如何利用python執(zhí)行txt文件中的代碼
前言:
我們知道,python代碼文件大多數(shù)都是py類型。
那么,能不能使用txt文件存儲我們的代碼呢?
python這么強(qiáng)大的語言當(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的概念這里暫時(shí)先不做介紹,后續(xù)文章會進(jìn)行補(bǔ)充)。
2.如何將txt中的代碼作為字符串讀取?
這一步驟只需使用python內(nèi)置的文件流操作即可,比如使用File對象的read()函數(shù)將代碼一次性讀?。?/strong>
with open("code.txt", "r") as f: ? ? code = f.read()
其中“code.txt”就是想要執(zhí)行的代碼,其中不應(yīng)該包含語法錯(cuò)誤,否則不便于調(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爬蟲實(shí)戰(zhàn)之12306搶票開源
今天小編就為大家分享一篇關(guān)于Python爬蟲實(shí)戰(zhàn)之12306搶票開源,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2019-01-01Python練習(xí)之操作MySQL數(shù)據(jù)庫
這篇文章主要介紹了Python練習(xí)之操作MySQL數(shù)據(jù)庫,文章通過如何創(chuàng)建MySQL數(shù)據(jù)表?如何向MySQL表中插入數(shù)據(jù)?如何查詢MySQL中的數(shù)據(jù)?的三個(gè)問題展開了詳細(xì)的內(nèi)容介紹2022-06-06Python深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)殘差塊
這篇文章主要為大家介紹了Python深度學(xué)習(xí)中的神經(jīng)網(wǎng)絡(luò)殘差塊示例詳解有需要的 朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步2021-10-10Python數(shù)據(jù)可視化繪圖實(shí)例詳解
數(shù)據(jù)可視化是指用圖形或表格的方式來呈現(xiàn)數(shù)據(jù)。圖表能夠清楚地呈現(xiàn)數(shù)據(jù)性質(zhì), 以及數(shù)據(jù)間或?qū)傩蚤g的關(guān)系。本文為大家分享了幾個(gè)Python數(shù)據(jù)可視化繪圖的實(shí)例,感興趣的可以了解一下2022-05-05CentOS中使用virtualenv搭建python3環(huán)境
virtualenv可以搭建虛擬且獨(dú)立的python環(huán)境,可以使每個(gè)項(xiàng)目環(huán)境與其他項(xiàng)目獨(dú)立開來,保持環(huán)境的干凈,解決包沖突問題。下面我們來詳細(xì)探討下centos中如何來搭建。2015-06-06使用Python的Tornado框架實(shí)現(xiàn)一個(gè)簡單的WebQQ機(jī)器人
這篇文章主要介紹了使用Python的Tornado框架實(shí)現(xiàn)一個(gè)簡單的WebQQ機(jī)器人,Tornado的異步特性可以提高I/O性能,需要的朋友可以參考下2015-04-04