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

导入外部py脚本仅在声明时运行
EN

Stack Overflow用户
提问于 2017-01-03 07:08:15
回答 2查看 35关注 0票数 0

我的树莓派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

复制
相关文章
PowerDNS 轻松配置 DNS 名称服务器
其次使我们感兴趣的是 PDNS 的所有功能都在配置文件中。pdns.conf 有许多选项,你可以通过添加或删除 # 号来启用或禁用这些选项。这真是太神奇了,因为它使我们有机会将这项新的服务集成到我们现有的基础架构中,并且只有我们想要的功能,不多也不少。一个简单的例子:
用户8989785
2021/09/09
1.7K0
service DNS名称
DNS服务监视kubernetes API,为每一个service创建DNS记录用于域名解析 clusterIP A记录格式:
院长技术
2020/12/07
1.1K0
使用 PowerDNS 轻松配置 DNS 名称服务器
几个月前,我们接到了一个要求,为一个新项目提供一个稳定可靠的域名系统(DNS)服务器。该项目使用容器进行自动部署,每个新环境都会生成唯一的随机 URL。在对可能的方案进行了大量研究之后,我们决定尝试一下 PowerDNS(PDNS)。
用户1880875
2021/09/15
1.3K0
使用 PowerDNS 轻松配置 DNS 名称服务器
一开始,我们发现 PowerDNS 在所有主流 Linux 发行版中都得到了支持,它采用 GPL 许可,且仓库保持更新。我们还在官方网站上发现了整洁、组织良好的文档,以及大量来自真正喜欢和使用该产品的人在网络上的使用方法。看了一些并学习了一些基本命令之后,安装了 PDNS,启动并运行,我们的旅程开始了。
用户4988085
2021/09/14
1.5K0
自建DNS解析服务器
搭建DNS解析服务器,不是属于DNS服务器:比如114.114.114.114啥的,而是能够帮你解析域名的服务器。
幻影龙王
2021/09/05
18.3K0
自建DNS解析服务器
无法解析服务器的DNS地址
背景: 打开浏览器突然之间发现无法上网了,提示说无法解析服务器的DNS地址 原因: DNS,就是将域名转换为IP地址功能的服务器 DNS解析不了,是由于输入的地址无法指向到目标网络,而导致的无法上
运维小白
2018/03/29
50.1K0
无法解析服务器的DNS地址
DNS服务器域名解析
HelloWorldZ
2024/03/20
1.1K0
DNS如何解析服务器
但是这样也有问题,那就是Hosts文件是有限的,就和你不可能拥有这个世界上所有人的电话号码一样。既然我们自己不可能拥有全世界所有人的电话号码,但是我们可以将收集电话号码这个任务交给一个专门来干这个活的人,然后大家想要问电话的时候去他那查一下就可以了。
用户1880875
2021/07/02
14K0
【DNS 解析】DNS 解析过程分析
可以这么理解:域名可以方便大家记忆,DNS 目的是为了实现域名和主机地址之间的转换而存在的系统。
青橙.
2022/06/08
114.6K2
【DNS解析】​跨账号共享DNS解析
在添加域名共享窗口中,输入框中,输入需共享的 腾讯云 账号ID。并勾选共享主域名或者共享部分记录。如下图所示:
青阳
2022/05/27
34.2K0
DNS解析
大概就是这样的过程,下面我们来仔细的分析下浏览器是如何查找到域名对应的ip地址的。
IMWeb前端团队
2019/12/03
31.4K0
配置dns域名解析_搭建本地服务器dns怎么设置
DNS(Domain Name System–域名系统),在TCP/IP 网络中有着非常重要的地位,能够提供域名和IP地址的解析服务.
全栈程序员站长
2022/09/16
44.1K0
如何为linux服务器配置DNS解析?
修改本地hosts文件,利用hosts自动解析域名到ip,此方法也适用于windows,只不过windows的位置于C:\WINDOWS\system32\drivers\etc\hosts
机智的程序员小熊
2019/12/12
22.9K0
腾讯云云解析修改域名DNS服务器
当你在腾讯云购买域名后,如果 DNS 服务器不正确,要把域名 DNS 修改为提示的 DNS 地址,解析后才生效。
魏艾斯博客www.vpsss.net
2019/08/28
24.4K0
腾讯云云解析修改域名DNS服务器
DNS解析
本文介绍了DNS解析过程、安全防范和性能优化等相关知识。
IMWeb前端团队
2017/12/29
32.4K0
CentOS 7.4 搭建分离解析的DNS服务器
环境:Linux服务器一台(双网卡) 内网IP:192.168.80.101 设置为vmnet1 外网IP:192.168.90.101 设置为vmnet2 Linux客户端一台,IP地址:192.168.80.102 设置为vmnet1 Win7客户端一台,IP地址:192.168.90.10 设置为vmnet2
星哥玩云
2022/07/25
7.6K0
CentOS 7.4 搭建分离解析的DNS服务器
如何为linux服务器配置DNS解析?
修改本地hosts文件,利用hosts自动解析域名到ip,此方法也适用于windows,只不过windows的位置于C:\WINDOWS\system32\drivers\etc\hosts
小小科
2019/07/03
25.6K0
dns解析
dns也可以认为是域名的解析,因为在实际的网络请求中,是通过ip来进行互访请求的,但是ip是四个字节的数字组成,不容易记住,能够更加方便的访问互联网,然后域名系统应运而生,但是域名并不是免费的,需要到域名注册商处进行申请注册,人们都习惯记忆域名,但机器间互相只认识 IP 地址,域名与 IP 地址之间是一一对应的,它们之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器来完成,解析过程是自动进行的。域名解析(DNS)是将域名(例如 cloud.tencent.com)转换成为机器可读的 IP 地址(例如10.10.10.10)的服务。
云售后焦俊成
2020/08/26
41.3K0
dns解析
使用Bind部署DNS域名解析服务器
DNS系统在网络中的作用是维护一个地址数据库,其中记录了各种主机域名与ip地址的对应关系,提供正向或反向的地址查询服务,即正向解析与反向解析。
星哥玩云
2022/07/25
13.5K0
如何为 DNS 服务器添加反向解析记录
前一篇文章我们介绍了如何快速搭建 DNS 服务器,本文将向大家介绍如何向 DNS 服务器添加反向解析记录,支持将指定的 IP 解析到对应的域名。
9527
2018/11/26
49.1K4
如何为 DNS 服务器添加反向解析记录

相似问题

强制辅助DNS服务器解析未解析的名称。

10

DNS解析为同一IP的不同机器。

30

未解析DNS名称

20

使绑定DNS服务器“记住”解析的名称。

10

DNS我的DNS服务器和公共DNS服务器中不同的PTR记录解析

20
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

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

洞察 腾讯核心技术

剖析业界实践案例

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