序文
実際のpythonで機能を内蔵しており、組み込み関数と同じexecfileを幹部の機能ですが、機能はpython2.0のexecfileをバージョンで、exec関数はpython3.0バージョンに属し、以下の詳細な説明を参照の特定の使用を区別するために注意を払うために時間を使います。
.execfile / exec関数の紹介
今python2.0バージョンは更新を停止したことを、我々は(組み込み関数のexecのpython3.0バージョンを導入)以下のように、実際には、二つのパラメータの機能は同じですが、異なる名前は、構文は次のとおりです。
exec(source, globals=None, locals=None)
機能の特徴:
組み込み動的EXEC複雑なコードの断片を実行する機能。
Execは、組み込み関数PY Pythonのコードファイルを実行することができます。
パラメータ説明:
ソース - PYファイルのコンテンツまたはコードセグメント。
グローバル - デフォルトパラメータ、デフォルトは空で、変数のスコープ、グローバル名前空間、提供されている場合、辞書オブジェクトでなければなりません。
地元の人々 - デフォルトパラメータ、デフォルトは空で、変数のスコープ、ローカル名前空間、提供されている場合、任意のマッピングオブジェクトでもよいです。
戻り値 -戻り値は常にNoneです。
二.execfile / exec関数の使い方
1.exec機能実行コードセグメント
#!Usrの/ binに/ envをPythonの #- * -コーディング:UTF-8 _ * - "" " @author:なぜ悲しみ @Blog(個人ブログのアドレス):shuopython.com @WeChat公式アカウント(マイクロチャネルパブリック数):猿言ったPythonの @Github:www.github.com @file:python_exec.py @time:2019年12月16日夜9時25 @Motto:短いステップ千マイル、強大な急流にノー小川、素晴らしい人生プログラム!永続的に蓄積する必要がある "" " X = 100 source_codeが = " "" Z = 30 SUM = X + Y + Z#大型パッケージコード 印刷(X、Y、Z、SUM) "" " DEF メイン(): Y = 20であり、 A = Execの(source_codeが) #100 + 30 + 20である B = Execの(source_codeが、{ ' X ':10、' Y ':20である}) #10 + 20 + 30である C = Execの(source_codeが、{ ' X ':10、' Y ':20}、{ ' Y ':3、' Z ':} 4)。 #10 + 30 + 3、Xグローバル変数1は、Yはローカル変数で定義されている プリント(Aは、Bは、C) #Execは常に戻り値なし IF __name__ == " __main__ " : 主()
出力:
100 20 30 150
10 20 30 60
10 3 30 43
なしなしなし
コード分析は:source_codeが、複雑なコードの一部と組み込み関数よりも幹部として動的に実行することが可能であるビルトイン関数evalより強力なよ!
2.exec機能が実行PYファイル
複雑なコードフラグメントを実行する組み込み関数のEXEC添加もPY Pythonコードファイルを実行することができる与える栗:そこtest.txtのファイルは、のように続く場合:
# e:/test.txt def main(): x = 20 y = 50 print(x+y) print("shuopython.com") if __name__ == "__main__": main()
そして、組み込み関数このTXTファイルのexec Pythonのコードを実行することを使用します。
オープンと(' E://test.txt '、' R ' )Fとして: EXEC(f.read())
出力:
70
shuopython.com
あなたも好きなことがあります。
再現指定してください:猿は、Python言う » Pythonのexecfileを/ Execの機能を