从另一个Python脚本中将参数传递给main(argv)

问题描述 投票:0回答:1

我有一个 python 脚本,它将参数“-i on”传递给主定义中的 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

我有另一个脚本,我想这样称呼这个脚本;

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命令

python argv
1个回答
0
投票

您是否尝试过将它们作为列表传递?

import sys
from flask import Flask, request
sys.path.insert(0, '/home/domoticame/epever-inverter-read')
import ivctl
...
ivctl.main('-i on'.split())
© www.soinside.com 2019 - 2024. All rights reserved.