在Python中用@click.argument替换@click.option

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

我有以下脚本,我使用 Python 中的 click 库中的 @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()
python python-click
1个回答
1
投票
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()
© www.soinside.com 2019 - 2024. All rights reserved.