从另一个Python脚本中将参数传递给main(argv)
我有一个Python脚本,它在主函数中接收参数“-i on”。这段代码的一部分是:
def main(argv):
status = "none"
try:
opts, args = getopt.getopt(argv,"hi:")
except getopt.GetoptError:
print sys.argv[0], ' -i on|off'
sys.exit(2)
for opt, arg in opts:
if opt == '-h':
print sys.argv[0]," -i on|off"
print "Switches invertor on and off"
sys.exit()
elif opt in ("-i"):
status = arg
up = UPower()
if (up.connect() < 0):
print "Could not connect to the device"
exit -2
newstatR = 0
if (status == "on"): newstatR = 1
我还有另一个脚本,我想像这样调用这个脚本:
import sys
from flask import Flask, request
sys.path.insert(0, '/home/domoticame/epever-inverter-read')
import ivctl
...
ivctl.main('-i on')
但是,这样做并不总是有效,执行的结果和在命令行上运行时不一样。看起来它执行的是关闭命令,而不是打开命令。
但是,这样做并不总是有效,执行的结果和在命令行上运行时不一样。看起来它执行的是关闭命令,而不是打开命令。
1 个回答
3
你有没有试过把它们当作一个列表来传递呢?
import sys
from flask import Flask, request
sys.path.insert(0, '/home/domoticame/epever-inverter-read')
import ivctl
...
ivctl.main('-i on'.split())