我开发了这个 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脚本中尝试一下:
你的参数1 = sys.argv[1]
快乐编码:)