Python中文
首页
教程
问答
标签
搜索
登录
注册
从另一个python脚本执行python文件,如果python文件具有嵌套函数,则执行失败
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我正在创建一个python脚本来执行I2C读写。该脚本还处理测试脚本(也是python)以发送硬件。 以前的测试脚本是通过GUI发送的,但我的脚本通过GUI使用并直接与I2C驱动程序对话。 如果测试脚本是平面的,则没有问题。但是,如果存在嵌套函数或全局变量,则会出现错误:</p> <pre><code>def main(): board=usb2any() board.ReadI2C(0x58,0x0) board.WriteI2C(0x58,0xBC,0x40) execfile(f1) if __name__ == "__main__": main() </code></pre> <p>测试代码“f1”,如果它只包含如下代码,则运行正常</p> <pre><code>board.ReadI2C(0x58,0x2) board.WriteI2C(0x58,0x20,0x10) </code></pre> <p>但是,如果它看起来像这样: 测试脚本示例1</p> <pre><code>V1=0 def fun1(): if V1==1: # error here saying global variable V1 not defined </code></pre> <p>失败案例的另一个例子: 测试脚本示例2</p> <pre><code>ff(0x10,0x9) def ff(v1,v2): fun2(v1) #Error here saying fun2 not defined </code></pre> <p>def fun2(vv): vv=0</p> <p>你知道怎么解决这个问题吗?最好不要接触测试脚本,因为这些脚本已与GUI一起使用</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>示例2不起作用,因为您在声明函数之前调用了它。请尝试以下方法:</p> <pre><code>def ff(v1,v2): fun2(v1) ff(0x10,0x9) </code></pre>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
文本导入时标题行中的特殊字符
6 回答
文本小部件:在没有输入时更新并在循环后保持空闲
2 回答
文本小部件tkin
8 回答
文本小部件tkinter中的标签更改或文本外观更改是否有撤消功能?
1 回答
文本小部件tkinter复制图像选项
5 回答
文本小部件上的Python Tkinter ttk滚动条未缩放
9 回答
文本小部件上的滚动条可能需要根据制表符ord显示前进行滚动
4 回答
文本小部件不显示lis中的内容
7 回答
文本小部件不显示Unicode字符
1 回答
文本小部件中写入的行间距
9 回答
文本小部件中的文本作为变量
5 回答
文本小部件中的滚动条仅显示在底部
8 回答
文本小部件中的选项卡键空间计数
6 回答
文本小部件作为Lis
8 回答
文本小部件在主框架中扩展列宽
7 回答
文本小部件未使用删除功能清除
7 回答
文本小部件滚动动画(Tkinter、Python)
5 回答
文本居中。格式正确吗?
10 回答
文本差分算法
10 回答
文本已知时音频文件中的单词索引
8 回答