在Python中将@click.option替换为@click.argument

在Python中将@click.option替换为@click.argument,python,click,python-click,Python,Click,Python Click,我有下面的脚本,其中使用Python中单击库中的@click.option。我想知道如何在不更改输出的情况下用@click.argument替换它 import sys import click import pandas as pd from sklearn import metrics @click.command() @click.option('--filename') # @click.argument('result.csv', type=click.Path(exists=Tru

我有下面的脚本,其中使用Python中单击库中的@click.option。我想知道如何在不更改输出的情况下用@click.argument替换它

import sys
import click
import pandas as pd
from sklearn import metrics
@click.command()

@click.option('--filename')
# @click.argument('result.csv', type=click.Path(exists=True))

def main(filename):

    df = pd.read_csv(filename)
    y_test = df["actual"].values
    y_pred = df["predicted"].values

    print('R Squared: ' +  str(metrics.r2_score(y_test, y_pred)))
    
if __name__ == '__main__':
    sys.argv = ['',  '--filename', 'result.csv']
    main()

我尝试了这段代码,它输出了相同的输出,但随后出现了以下错误消息:error:root:inspect模块中的内部Python错误。AttributeError:“tuple”对象没有属性“tb\u frame”发生异常,请使用%tb查看完整的回溯。---------------------------------------------------------------------------------------在处理上述异常期间,发生了另一个异常:SystemExit:0
import sys
import click
import pandas as pd
from sklearn import metrics
@click.command()

# @click.option('--filename')
## @click.argument('result.csv', type=click.Path(exists=True))
@click.argument('filename', type=click.Path(exists=True))
def main(filename):

    df = pd.read_csv(filename)
    y_test = df["actual"].values
    y_pred = df["predicted"].values

    print('R Squared: ' +  str(metrics.r2_score(y_test, y_pred)))
    
if __name__ == '__main__':
    # sys.argv = ['',  '--filename', 'result.csv']
    sys.argv = ['',  'result.csv']
    main()