首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >导入外部py脚本仅在声明时运行

我的树莓派3中有两个.py脚本,Script1.py只是一个按钮脚本,Script2.py是主脚本。我只想在Script1中按下按钮时运行Script2。

现在我知道这个问题已经被问过了。我读过他们的解决方案,但没有一个对我有效。

实际上,我希望将Script2作为一个模块来运行。因此整个脚本也会运行,我还可以从该脚本中获取变量。这就是我正在做的事情

Script1.py

代码语言:javascript
运行
AI代码解释
复制
Import  Script2
Import Rpi.GPIO

if_button_is_pressed:
os.system("Script2.py")

是的,我也尝试过execfile。不起作用。问题是,当我运行Script1时,Script2也会自动运行,而不需要等待按下按钮。似乎Import函数也会导入脚本并运行它。

我的下一步行动是这样的

代码语言:javascript
运行
AI代码解释
复制
Import Rpi.GPIO

if_button_is_Pressed:
import Script2

这运行得很好,但仅在第一次执行时。如果我插入一个while(True)循环,在导入并运行Script2之后,它不会在下一次运行。

代码语言:javascript
运行
AI代码解释
复制
Import Rpi.GPIO

while(True)
if_button_is_pressed:
import Script2

当我按下按钮时,Script2运行正常。然后,当我再次按下该按钮时,它不会运行Script2。跳过它,转到下一个命令。

可能的问题是什么?提前谢谢你

EN

回答 2

Stack Overflow用户

发布于 2017-01-03 07:12:48

您可以尝试如下所示:

代码语言:javascript
运行
AI代码解释
复制
Import Rpi.GPIO
Import cv2

while(button_is_pressed):
    import Script2
    cv2.waitKey(0)

您应该在按钮被按下时捕获操作,并使用此值进行检查。

cv2.waitKey()是一个键盘绑定函数。它的参数是以毫秒为单位的时间。该函数等待指定的毫秒以等待任何键盘事件。如果你在这段时间内按任意键,程序就会继续。如果传递0,它将无限期地等待击键。它还可以设置为检测特定的按键敲击,例如,是否按下了键a等,这将在下面讨论。摘自here

票数 0
EN

Stack Overflow用户

发布于 2017-01-03 08:54:10

将脚本2中通常在导入时运行的部分放入不接受任何参数的函数中。这可能是整个脚本。让我们将该函数称为run

在脚本1中,照常导入脚本2。现在,在导入期间将不会运行任何内容。使用script2.run()响应按钮点击。

如果您仍然需要能够将脚本2作为脚本运行,请在脚本末尾添加以下行(在run函数之外):

代码语言:javascript
运行
AI代码解释
复制
if __name__ == '__main__':
   run() 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41438176

复制
相关文章
py脚本 获取当前运行服务的相关信息
最近在统计系统中都部署了什么服务,但服务器太多,在没有标准化之前进行整理,还是写脚本收集方便一些。
陈不成i
2021/05/31
1K0
gradle打包android (实现外部导入签名文件、多渠道打包、导入ant脚本)
       最近一直在做android自动打包,之前已经完成了用纯命令行的形式打包、原生态ant脚本打包,和基于android的SDK的打包,并且实现了多渠道打包,后来同事推荐了gradle,网上的资料说gradle各种好,自己也感兴趣是实现一下,其实一般来说由于android对eclipse的支持减弱,大部分的人都是用gradle与android studio融合,这样面的例子也会比较多,但笔者所在的项目还是在eclipse的比较多,由于开发人员在移植过程中发现报错比较多所以一直没有完全移植(好吧,其实早晚会移植),所以笔者是用eclipse的IDE做的实验,下面先贴几个基础知识
粲然忧生
2022/08/02
7650
iOS导入外部字体
一、将字体文件拖入工程中。 这些字体可以是网上下载的,也可以直接使用系统的字体册。 点击Launchpad-->其他-->字体册,找到你需要的字体,选择在Finder中打开,将文件拖入工程。 屏幕
谦谦君子修罗刀
2018/04/28
1.1K0
iOS导入外部字体
bat文件一键运行py自动化脚本
目标:建立一个双击即可运行自动化脚本的机制,而不用每次运行编译器,方便测试人员用户体验。
逆向小白
2019/11/12
3.1K0
bat文件一键运行py自动化脚本
pycharm运行py文件_Pycharm运行
方法二:使用快捷键 Ctrl + shift + 10 ,效果一样,同样也能在屏幕打印 hello world。
全栈程序员站长
2022/09/26
3.9K0
pycharm运行py文件_Pycharm运行
Pycharm 运行py文件[通俗易懂]
2. 打开pycharm,如果已经有文件了,就点击File->close project,回到主界面
全栈程序员站长
2022/09/27
4.3K0
Pycharm 运行py文件[通俗易懂]
py文件的运行
1,运行第一段python代码。 在d盘下创建一个t1.py文件内容是: 打开windows命令行输入cmd,确定后 写入代码python d:t1.py 
全栈程序员站长
2022/07/21
2.3K0
py文件的运行
Python 导入外部类文件
通常,定义类的代码和调用类创建对象的代码很少放到同一文件下,这就遇到【一个文件需要调用另一个独立存放的类文件来创建对象】的问题。书上和网上的入门教材对此提及较少,以下举例说明其实现方法:
py3study
2020/01/13
1.4K0
GitHub 的 Action 判断仅在主仓库才执行脚本
我有一个 GitHub 项目,这个项目配置了仅需要在源仓库才能执行的 Action 如推送 NuGet 等发布动作。如何在 Action 里面设置让 Fork 的仓库不执行 Action 的步骤
林德熙
2022/08/12
8780
pycharm怎么导入外部库_python导入本地库
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/175169.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/27
1.7K0
pycharm怎么导入外部库_python导入本地库
TypeScript 仅仅导入声明语法
在 TypeScript 中,如果导入的模块没有用于任何表达式,TypeScript 将会删除该模块导入。
三毛
2020/01/20
1.8K0
python批量运行py文件
import os path="E:\\python" #批量的py文件路径 for root,dirs,files in os.walk(path): #进入文件夹目录 for f in files: #文件夹下的文件 if os.path.splitext(f)[1]=='.py': #只运行py文件 os.chdir(root) os.system('python {}'.format(f)) #终端运行 python m
hankleo
2020/09/17
4.5K0
py2exe打包多个py文件_Python导入包
上回在《使用 PyInstaller 打包 Python 程序》中,我们介绍了使用 PyInstaller 对 Python 程序进行打包,今天带大家认识一个新的工具:py2exe。
全栈程序员站长
2022/10/01
1.3K0
py2exe打包多个py文件_Python导入包
Python定时计划任务探究,如何实现到点运行py任务脚本
不少大佬哥应该有着这样一个应用场景,即到点跪舔女神,给女大佬问好,带早餐,备胎计划??而在实际网络中,也有着不少定时定点计划任务需要运行,这在运维当中非常常见,也非常重要!身为技术渣想要实现到点运行py任务脚本,比如说每天某个时间点准时运行爬取91新片以及精彩评论,兴趣让渣渣有研究的动力,这就有了下面这篇水文!!
二爷
2021/10/11
2.1K0
pycharm运行py文件报错_项目怎么运行
换电脑和换了Python解释器后,Pycharm运行项目报错:CreateProcess error=2, 系统找不到指定的文件
全栈程序员站长
2022/09/27
3.8K0
pycharm运行py文件报错_项目怎么运行
python 爬虫脚本crawl.py
import io import formatter from html.parser import HTMLParser import http.client import os import sys import urllib.request, urllib.parse, urllib.error
用户5760343
2022/05/14
3410
csv导入Hive脚本
from pyspark.sql import HiveContext hivec = HiveContext(sc) # 创建一个hivecontext对象用于写执行SQL,sc为sparkc
用户1220053
2019/05/26
1.8K0
oracle 脚本导入导出
导入:imp ics/ics@localhost:1521/orcl file=F:\ics.dmp full = y
Dlimeng
2023/06/28
2440
Linux学习笔记之Linux运行脚本时 $'\r' 错误
用notepad++编译器打开脚本,编辑->文档格式转换->转换为UNIX格式,然后保存。
Jetpropelledsnake21
2019/03/15
1.6K0
Linux学习笔记之Linux运行脚本时 $'\r' 错误
点击加载更多

相似问题

通过sh导入模块运行.py脚本时出错

20

Django单击html运行外部py脚本。

12

从外部脚本从setup.py导入变量

23

Coverage.py Python模块-运行脚本时导入错误

41

从外部SD卡运行Py4A脚本?

22
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档