我有一个python脚本,它将参数"-i on"传递给main define中的argv 这是守则的一部分,

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

我还有另一个 playbook ,我想这样称呼这个 playbook ;

import sys
from flask import Flask, request
sys.path.insert(0, '/home/domoticame/epever-inverter-read')
import ivctl
...
ivctl.main('-i on')

然而,这并不可靠地工作,执行与在命令行上不同 它似乎执行OFF命令而不是ON命令

然而,这并不可靠地工作,执行与在命令行上不同 它似乎执行OFF命令而不是ON命令

推荐答案

你有没有试着把它们作为一份 list 来传递?

import sys
from flask import Flask, request
sys.path.insert(0, '/home/domoticame/epever-inverter-read')
import ivctl
...
ivctl.main('-i on'.split())

Python相关问答推荐

Python在tuple上操作不会通过整个单词匹配

Pandas 第二小值有条件

Python多处理:当我在一个巨大的pandas数据框架上启动许多进程时,程序就会陷入困境

Django mysql图标不适用于小 case

抓取rotowire MLB球员新闻并使用Python形成表格

管道冻结和管道卸载

加速Python循环

如何使用Pandas DataFrame按日期和项目汇总计数作为列标题

将pandas导出到CSV数据,但在此之前,将日期按最小到最大排序

解决调用嵌入式函数的XSLT中表达式的语法移位/归约冲突

合并与拼接并举

如何从pandas DataFrame中获取. groupby()和. agg()之后的子列?

将一个双框爆炸到另一个双框的范围内

以异步方式填充Pandas 数据帧

仅使用预先计算的排序获取排序元素

有没有办法让Re.Sub报告它所做的每一次替换?

在我融化极点数据帧之后,我如何在不添加索引的情况下将其旋转回其原始形式?

一维不匹配两个数组上的广义ufunc

对当前的鼹鼠进行编码,并且我的按键获得了注册

按最大属性值Django对对象进行排序