在Python中将@click.option替换为@click.argument
我有下面的脚本,其中使用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
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()