私はコマンドライン引数を解析しようとしています。私はいくつかのことを試しました。以下のコードは私が試した最後のものですが、私は "unrecognized arguments"というエラーを受け取りました。Pythonで引数を任意の順序で解析する
のようなものをコマンドライン上に置くことができますが、どのような順序でも持つことができます。私はこれについてどうやって行くのか分かりません。私のコードは以下の通りです:
import argparse
import sys, re
import numpy as np
import smtplib
from random import randint
import csv
import math
import pandas as pd
parser = argparse.ArgumentParser()
parser.add_argument('-cname')
parser.add_argument('-source')
parser.add_argument('-target')
parser.add_argument('-out')
args = parser.parse_args()
#col = sys.argv[1]
#source = sys.argv[2]
#target = sys.argv[3]
#newtarg = sys.argv[4]
sourceFile = pd.read_csv(source)
targetFile = pd.read_csv(target)
del targetFile[cname]
targetFile[col] = pd.Series(sourceFile[col])
targetFile.to_csv(out, index = False)
プログラムを 'copy-column-csv.py -cname = Quiz -source = source.csv -target = target.csv -out = out.csv'として実行してみてください。引数の前に '-'があることに注意してください。 –
こんにちはケイト、将来の参考として、あなたの質問タイトルをもう少し具体的にしてみてください。そうすれば、同じ問題を抱えている人は、提供する回答を検索して見つけることができます。何か "PythonでArgumentParserを使って引数をどのように解析するのですか?"私はあなたが探しているものを見つけることを願っています! –
@RocketHazmatああ大丈夫です。そうですか。とにかくあなたはダッシュを使用する必要はありませんか、それとも必要ですか?また、私がこれをすると、渡された議論をどのように参照するのか?たとえばsourceの場合、args.sourceですか? – K22