Я новичок в использовании нажмите пакет. У меня есть функция с двумя аргументами, и я хочу передать только один из них с помощью щелчка, аргумент i передается внутри оператора if.
fig = plt.figure()
ax1 = fig.add_subplot(1,1,1)
@click.command()
@click.argument('filename')
def plot_graph(i, filename):
...
if __name__ == '__main__':
graph_animated = animation.FuncAnimation(fig, plot_graph, interval=1000)
Спасибо!






Вы можете просто обернуть соответствующий код в "командную" функцию и использовать закрытие для переменной filename:
import click
import matplotlib.animation as animation
import matplotlib.pyplot as plt
@click.command()
@click.argument('filename')
def main(filename):
fig = plt.figure()
ax1 = fig.add_subplot(1,1,1)
def plot_graph(i):
# Closure over `filename` here.
# Alternatively you can use additional kwarg `filename=filename`.
graph_animated = animation.FuncAnimation(fig, plot_graph, interval=1000)
plt.show()
if __name__ == '__main__':
main()