Вы должны получить аргументы
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('--influx_host', default='10.0.0.10')
parser.add_argument('--port', default=7076)
args = parser.parse_args() # it will use values from `sys.argv`
и использовать args.influx_host
и args.port
в коде
client = InfluxDBClient(host=args.influx_host, port=args.port, ...)
И теперь вы можете запустить его с аргументами
python test.py --influx_host 10.0.0.10 --port 7076
или без аргументов
python test.py
или только с некоторыми аргументами
python test.py --influx_host 10.0.0.10
python test.py --port 7076
Если вы работаете без --influx_host
и / или --port
, тогда используются значения по умолчанию из .add_argument()
Не тестировалось, потому что у меня нет influxdb
, но args
показывает ожидаемые значения
import argparse
import pandas as pd
from influxdb import InfluxDBClient
# --- args ---
parser = argparse.ArgumentParser()
parser.add_argument('--influx_host', default='10.0.0.10')
parser.add_argument('--port', default=7076)
args = parser.parse_args() # it will use values from `sys.argv`
#args = parser.parse_args(['--influx_host', 'localhost', ]) # for tests
print(args)
# --- rest ---
client = InfluxDBClient(host=args.influx_host, port=args.port, username='abcdefghi',
password='dsdsd', ssl=False, verify_ssl=False)
read_client.switch_database('test')
q = 'SELECT * FROM "abc"'
df = pd.DataFrame(read_client.query(q, chunked=False, chunk_size=10000).get_points())
print(df)