如何利用python執(zhí)行txt文件中的代碼
前言:
我們知道,python代碼文件大多數(shù)都是py類型。
那么,能不能使用txt文件存儲我們的代碼呢?
python這么強大的語言當然可以做大,只需使用內置的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í)行(關于globals和locals的概念這里暫時先不做介紹,后續(xù)文章會進行補充)。
2.如何將txt中的代碼作為字符串讀???
這一步驟只需使用python內置的文件流操作即可,比如使用File對象的read()函數(shù)將代碼一次性讀?。?/strong>
with open("code.txt", "r") as f: ? ? code = f.read()
其中“code.txt”就是想要執(zhí)行的代碼,其中不應該包含語法錯誤,否則不便于調試(最好是將已經(jīng)調試完成的代碼放入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”文件內容:
with open("code.txt", "r") as f: ? ? ? ? code = f.read()?
(3)使用exec()執(zhí)行字符串:
exec(code)?
到此這篇關于如何利用python執(zhí)行txt文件中的代碼的文章就介紹到這了,更多相關python執(zhí)行txt文件代碼內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
CentOS中使用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