久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

<tfoot id='cQPkG'></tfoot>
<i id='cQPkG'><tr id='cQPkG'><dt id='cQPkG'><q id='cQPkG'><span id='cQPkG'><b id='cQPkG'><form id='cQPkG'><ins id='cQPkG'></ins><ul id='cQPkG'></ul><sub id='cQPkG'></sub></form><legend id='cQPkG'></legend><bdo id='cQPkG'><pre id='cQPkG'><center id='cQPkG'></center></pre></bdo></b><th id='cQPkG'></th></span></q></dt></tr></i><div class="qwawimqqmiuu" id='cQPkG'><tfoot id='cQPkG'></tfoot><dl id='cQPkG'><fieldset id='cQPkG'></fieldset></dl></div>

    1. <legend id='cQPkG'><style id='cQPkG'><dir id='cQPkG'><q id='cQPkG'></q></dir></style></legend>
        <bdo id='cQPkG'></bdo><ul id='cQPkG'></ul>

        <small id='cQPkG'></small><noframes id='cQPkG'>

        NameError 在 python 中使用 execfile

        NameError using execfile in python(NameError 在 python 中使用 execfile)
          <bdo id='gnrkm'></bdo><ul id='gnrkm'></ul>

          • <small id='gnrkm'></small><noframes id='gnrkm'>

            <i id='gnrkm'><tr id='gnrkm'><dt id='gnrkm'><q id='gnrkm'><span id='gnrkm'><b id='gnrkm'><form id='gnrkm'><ins id='gnrkm'></ins><ul id='gnrkm'></ul><sub id='gnrkm'></sub></form><legend id='gnrkm'></legend><bdo id='gnrkm'><pre id='gnrkm'><center id='gnrkm'></center></pre></bdo></b><th id='gnrkm'></th></span></q></dt></tr></i><div class="qwawimqqmiuu" id='gnrkm'><tfoot id='gnrkm'></tfoot><dl id='gnrkm'><fieldset id='gnrkm'></fieldset></dl></div>
            • <legend id='gnrkm'><style id='gnrkm'><dir id='gnrkm'><q id='gnrkm'></q></dir></style></legend>

              1. <tfoot id='gnrkm'></tfoot>
                  <tbody id='gnrkm'></tbody>

                1. 本文介紹了NameError 在 python 中使用 execfile的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

                  問題描述

                  我的應用程序有一個使用 execfile 動態執行 python 腳本的按鈕.如果我在腳本中定義一個函數(例如.spam())并嘗試在另一個函數中使用該函數(例如.eggs()),我會收到此錯誤:

                  My application has a button to execute a python script dynamically using execfile. If I define a function inside the script (eg. spam()) and try to use that function inside another function (eg. eggs()), I get this error:

                  NameError: global name 'spam' is not defined
                  

                  eggs() 中調用 spam() 函數的正確方法是什么?

                  What is the correct way to call the spam() function from within eggs()?

                  #mainprogram.py
                  class mainprogram():
                      def runme(self):
                          execfile("myscript.py")
                  
                  >>> this = mainprogram()
                  >>> this.runme()
                  
                  # myscript.py
                  def spam():
                      print "spam"
                  
                  def eggs():
                      spam()
                  
                  eggs()
                  

                  另外,我似乎無法從腳本中的主應用程序執行方法.即

                  Also, I can't seem to be able to execute a method from my main application in the script. i.e.

                  #mainprogram.py
                  class mainprogram():
                      def on_cmdRunScript_mouseClick( self, event ):
                          execfile("my2ndscript.py")
                      def bleh():
                          print "bleh"
                  
                   #my2ndscript.py
                   bleh()
                  

                  錯誤是:

                  NameError: name 'bleh' is not defined
                  

                  my2ndscript.py 調用 bleh() 的正確方法是什么?

                  What is the correct way to call bleh() from my2ndscript.py?

                  編輯:更新第一期

                  推薦答案

                  第二種情況你需要import(不確定是否mainprogram.py"在你的 $PYTHONPATH)

                  In the second case you will need import (not sure whether "mainprogram.py" is on your $PYTHONPATH)

                  #mainprogram.py
                  class mainprogram:
                      def runme(self):
                          execfile("my2ndscript.py")
                      def bleh(self):
                          print "bleh"
                  if __name__ == '__main__':
                      mainprogram().runme()
                  
                  #my2ndscript.py
                  import mainprogram
                  x = mainprogram.mainprogram()
                  x.bleh()
                  

                  但這將創建 mainprogram 的第二個實例.或者,更好的是:

                  but this will create a second instance of mainprogram. Or, better yet:

                  #mainprogram.py
                  class mainprogram:
                      def runme(self):
                          execfile("my2ndscript.py", globals={'this': self})
                      def bleh(self):
                          print "bleh"
                  if __name__ == '__main__':
                      mainprogram().runme()
                  
                  #my2ndscript.py
                  this.bleh()
                  

                  我想 execfile 無論如何都不是解決您問題的正確方法.為什么不使用 import__import__ (以及 reload() 以防腳本在這些點擊之間發生變化)?

                  I guess that execfile is not the right solution for your problem anyway. Why don't you use import or __import__ (and reload() in case the script changes between those clicks)?

                  #mainprogram.py
                  import my2ndscript
                  
                  class mainprogram:
                      def runme(self):
                          reload(my2ndscript)
                          my2ndscript.main(self)
                      def bleh(self):
                          print "bleh"
                  
                  if __name__ == '__main__':
                      mainprogram().runme()
                  
                  #my2ndscript.py
                  def main(program):
                      program.bleh()
                  

                  這篇關于NameError 在 python 中使用 execfile的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

                  【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

                  相關文檔推薦

                  python: Two modules and classes with the same name under different packages(python:不同包下同名的兩個模塊和類)
                  Configuring Python to use additional locations for site-packages(配置 Python 以使用站點包的其他位置)
                  How to structure python packages without repeating top level name for import(如何在不重復導入頂級名稱的情況下構造python包)
                  Install python packages on OpenShift(在 OpenShift 上安裝 python 包)
                  How to refresh sys.path?(如何刷新 sys.path?)
                  Distribute a Python package with a compiled dynamic shared library(分發帶有已編譯動態共享庫的 Python 包)
                      <tbody id='z6jtm'></tbody>

                    1. <i id='z6jtm'><tr id='z6jtm'><dt id='z6jtm'><q id='z6jtm'><span id='z6jtm'><b id='z6jtm'><form id='z6jtm'><ins id='z6jtm'></ins><ul id='z6jtm'></ul><sub id='z6jtm'></sub></form><legend id='z6jtm'></legend><bdo id='z6jtm'><pre id='z6jtm'><center id='z6jtm'></center></pre></bdo></b><th id='z6jtm'></th></span></q></dt></tr></i><div class="qwawimqqmiuu" id='z6jtm'><tfoot id='z6jtm'></tfoot><dl id='z6jtm'><fieldset id='z6jtm'></fieldset></dl></div>
                      1. <small id='z6jtm'></small><noframes id='z6jtm'>

                        <legend id='z6jtm'><style id='z6jtm'><dir id='z6jtm'><q id='z6jtm'></q></dir></style></legend>
                        • <tfoot id='z6jtm'></tfoot>

                          • <bdo id='z6jtm'></bdo><ul id='z6jtm'></ul>
                          • 主站蜘蛛池模板: 亚洲深夜福利 | 日韩午夜激情 | 日韩欧美在线一区 | 欧美高清在线 | 日韩在线中文字幕 | 美女张开腿 | 成人免费福利视频 | 日韩一区中文字幕 | 老司机精品福利视频 | 国产午夜免费 | 性色av一区二区三区 | 亚洲最大黄色网址 | 婷婷99 | 亚洲国产福利 | 国产三级一区 | 亚洲一区二区三区视频 | 国产欧美日韩在线视频 | 久久久久久99精品久久久 | 精久久久久 | 国产精品乱码一区二区视频 | 成人爽a毛片一区二区免费 亚洲午夜在线观看 | 蜜桃精品噜噜噜成人av | 一区二区三区中文字幕 | 色激情网 | 日本免费不卡视频 | 成人福利视频在线观看 | 日韩一区二区三区在线 | 三级黄色在线观看 | 天天色影院| 亚洲视频不卡 | 亚洲国产精| 亚洲福利影院 | 国产另类xxxxhd高清 | 少妇在线| 亚洲一区二区三区四区在线 | 国产三级在线观看 | 狠狠干在线 | 在线免费看a | 日韩精品久久久久久久 | 欧美激情一区二区三区 | 糖心vlog精品一区二区 |