如何使用attribu调用外部参数

2024-10-03 19:29:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试设置一个中继模块,我可以调用其他python脚本来激活中继。我创建了一个简单的脚本继电器.py地址:

#!/usr/bin/python

# Import required Python libraries
import RPi.GPIO as GPIO

# Use BCM GPIO references instead of physical pin numbers
GPIO.setmode(GPIO.BOARD)

# GPIO assigned relay pin numbers for peripherals

light = 35
waterPump = 33
fanMotor = 31

pinList = [light, waterPump, fanMotor]

for i in pinList:
    GPIO.setwarnings(False)
    GPIO.setup(i, GPIO.OUT)

def relayOn(peripheral):
          GPIO.output(peripheral, GPIO.LOW)

def relayOff(peripheral):
          GPIO.output(peripheral, GPIO.HIGH)

如果我想通过调用激活脚本中的中继:

relayOn(light)

脚本运行良好。但是当我尝试从另一个python脚本运行脚本时,我的问题就发生了。例如,我制作了一个名为关系测试.py地址:

#!/usr/bin/python
import relay

relay.relayOn(light)

如果运行此脚本,则会出现错误:

NameError: name 'light' is not defined

我为这个新问题道歉。我到处找了,似乎找不到答案。你知道吗


Tags: pyimport脚本forgpiobin地址usr
1条回答
网友
1楼 · 发布于 2024-10-03 19:29:27

您应该使用: relay.relayOn(relay.light)

这是因为light是在relay模块的上下文中定义的全局变量。你知道吗

或者,您可以:

from relay import relayOn, light

那就用:

relayOn(light)

相关问题 更多 >