脚本不接受 config.ini 文件中的参数

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

我开发了这个 python 脚本来从配置文件运行服务。

我的配置文件是

config.ini

[my-config]
path1 = "/home/asad.javed/stop-services.sh"
path2 = "/home/asad.javed/script.py"
path3 = "/home/asad.javed/getbps.sh ens6f0"

我的源代码文件是

testscript.py

#! /usr/bin/python3

import configparser
import argparse as ap
import subprocess
import sys
import SIPOps as sip

def get_sipresponse():
        p = sys.path.append("/home/asad.javed/")
        response = sip.ping('172.16.26.77')
        response.get('Status')
        print(response)
        return p, response

def file_reader():
        configParser = configparser.ConfigParser()

        configParser.read('config.ini')
        path1 = configParser.get('my-config','path1')
        path2 = configParser.get('my-config','path2')
        path3 = configParser.get('my-config','path3')
        return path1,path2,path3

def main():
        path1,path2,path3 = file_reader()
        parser = ap.ArgumentParser()
        parser.add_argument('-s', '--start', help='start script', action='store_true')
        parser.add_argument('-q', '--stop', help='stop script', action='store_true')
        args = parser.parse_args()

        if args.start and args.stop:
                print("error")
        elif args.start:
                subprocess.call([path1], shell=True)
                subprocess.call([path2], shell=True)
                subprocess.call([path3], shell=True)
        elif args.stop:
                p.terminate()

if __name__ == '__main__':
        main()
        file_reader()
        get_sipresponse()

我面临的问题是,对于配置文件中的

path3
,我无法通过网络接口
en6f0
。有人可以指导我如何将
ens6f0
作为参数传递给我的 python 脚本吗?

python configparser
1个回答
0
投票

在你的Python脚本中尝试一下:

你的参数1 = sys.argv[1]

快乐编码:)

© www.soinside.com 2019 - 2024. All rights reserved.