pbootcms网站模板|日韩1区2区|织梦模板||网站源码|日韩1区2区|jquery建站特效-html5模板网

<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="qsfevhb" 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="rjwku3w" 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的處理方法,對(duì)大家解決問題具有一定的參考價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧!

                  問題描述

                  我的應(yīng)用程序有一個(gè)使用 execfile 動(dòng)態(tài)執(zhí)行 python 腳本的按鈕.如果我在腳本中定義一個(gè)函數(shù)(例如.spam())并嘗試在另一個(gè)函數(shù)中使用該函數(shù)(例如.eggs()),我會(huì)收到此錯(cuò)誤:

                  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() 中調(diào)用 spam() 函數(shù)的正確方法是什么?

                  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()
                  

                  另外,我似乎無法從腳本中的主應(yīng)用程序執(zhí)行方法.即

                  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()
                  

                  錯(cuò)誤是:

                  NameError: name 'bleh' is not defined
                  

                  my2ndscript.py 調(diào)用 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()
                  

                  但這將創(chuàng)建 mainprogram 的第二個(gè)實(shí)例.或者,更好的是:

                  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() 以防腳本在這些點(diǎn)擊之間發(fā)生變化)?

                  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()
                  

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

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

                  相關(guān)文檔推薦

                  python: Two modules and classes with the same name under different packages(python:不同包下同名的兩個(gè)模塊和類)
                  Configuring Python to use additional locations for site-packages(配置 Python 以使用站點(diǎn)包的其他位置)
                  How to structure python packages without repeating top level name for import(如何在不重復(fù)導(dǎo)入頂級(jí)名稱的情況下構(gòu)造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(分發(fā)帶有已編譯動(dòng)態(tài)共享庫的 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="8wcioxr" 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>
                          • 主站蜘蛛池模板: 福建成考网-福建成人高考网 | 合肥抖音SEO网站优化-网站建设-网络推广营销公司-百度爱采购-安徽企匠科技 | YAGEO国巨电容|贴片电阻|电容价格|三星代理商-深圳市巨优电子有限公司 | 对夹式止回阀_对夹式蝶形止回阀_对夹式软密封止回阀_超薄型止回阀_不锈钢底阀-温州上炬阀门科技有限公司 | 拉力测试机|材料拉伸试验机|电子拉力机价格|万能试验机厂家|苏州皖仪实验仪器有限公司 | 电竞馆加盟,沈阳网吧加盟费用选择嘉棋电竞_售后服务一体化 | 掺铥光纤放大器-C/L波段光纤放大器-小信号光纤放大器-合肥脉锐光电技术有限公司 | 底部填充胶_电子封装胶_芯片封装胶_芯片底部填充胶厂家-东莞汉思新材料 | 餐饮小吃技术培训-火锅串串香培训「何小胖培训」_成都点石成金[官网] | 沈阳楼承板_彩钢板_压型钢板厂家-辽宁中盛绿建钢品股份有限公司 轴承振动测量仪电箱-轴承测振动仪器-测试仪厂家-杭州居易电气 | 雷蒙磨,雷蒙磨粉机,雷蒙磨机 - 巩义市大峪沟高峰机械厂 | 博客-悦享汽车品质生活| SPC工作站-连杆综合检具-表盘气动量仪-内孔缺陷检测仪-杭州朗多检测仪器有限公司 | 镀锌方管,无缝方管,伸缩套管,方矩管_山东重鑫致胜金属制品有限公司 | 电解抛光加工_不锈钢电解抛光_常州安谱金属制品有限公司 | 扬尘在线监测系统_工地噪声扬尘检测仪_扬尘监测系统_贝塔射线扬尘监测设备「风途物联网科技」 | 洗地机-全自动/手推式洗地机-扫地车厂家_扬子清洁设备 | 色油机-色母机-失重|称重式混料机-称重机-米重机-拌料机-[东莞同锐机械]精密计量科技制造商 | 物流公司电话|附近物流公司电话上门取货 | 知名电动蝶阀,电动球阀,气动蝶阀,气动球阀生产厂家|价格透明-【固菲阀门官网】 | 欧美日韩国产一区二区三区不_久久久久国产精品无码不卡_亚洲欧洲美洲无码精品AV_精品一区美女视频_日韩黄色性爱一级视频_日本五十路人妻斩_国产99视频免费精品是看4_亚洲中文字幕无码一二三四区_国产小萍萍挤奶喷奶水_亚洲另类精品无码在线一区 | 预制直埋蒸汽保温管-直埋管道-聚氨酯发泡保温管厂家 - 唐山市吉祥保温工贸有限公司 | 铝板冲孔网,不锈钢冲孔网,圆孔冲孔网板,鳄鱼嘴-鱼眼防滑板,盾构走道板-江拓数控冲孔网厂-河北江拓丝网有限公司 | 复合土工膜厂家|hdpe防渗土工膜|复合防渗土工布|玻璃纤维|双向塑料土工格栅-安徽路建新材料有限公司 | 章丘丰源机械有限公司 - 三叶罗茨风机,罗茨鼓风机,罗茨风机 | 珠宝展柜-玻璃精品展柜-首饰珠宝展示柜定制-鸿钛展柜厂家 | 杭州可当科技有限公司—流量卡_随身WiFi_AI摄像头一站式解决方案 | 奶茶加盟,奶茶加盟店连锁品牌-甜啦啦官网 | 车间除尘设备,VOCs废气处理,工业涂装流水线,伸缩式喷漆房,自动喷砂房,沸石转轮浓缩吸附,机器人喷粉线-山东创杰智慧 | 双段式高压鼓风机-雕刻机用真空泵-绍兴天晨机械有限公司 | 郑州巴特熔体泵有限公司专业的熔体泵,熔体齿轮泵与换网器生产厂家 | 超声波_清洗机_超声波清洗机专业生产厂家-深圳市好顺超声设备有限公司 | 代理记账_公司起名核名_公司注册_工商注册-睿婕实业有限公司 | EFM 022静电场测试仪-套帽式风量计-静电平板监测器-上海民仪电子有限公司 | 100_150_200_250_300_350_400公斤压力空气压缩机-舰艇航天配套厂家 | 日本SMC气缸接头-速度控制阀-日本三菱伺服电机-苏州禾力自动化科技有限公司 | 铝扣板-铝方通-铝格栅-铝条扣板-铝单板幕墙-佳得利吊顶天花厂家 elisa试剂盒价格-酶联免疫试剂盒-猪elisa试剂盒-上海恒远生物科技有限公司 | 长沙发电机-湖南发电机-柴油发电机供应厂家-长沙明邦智能科技 | 土壤肥料养分速测仪_测土配方施肥仪_土壤养分检测仪-杭州鸣辉科技有限公司 | 冷却塔降噪隔音_冷却塔噪声治理_冷却塔噪音处理厂家-广东康明冷却塔降噪厂家 | 台式核磁共振仪,玻璃软化点测定仪,旋转高温粘度计,测温锥和测温块-上海麟文仪器 |