0

csv ファイルが配置されているディレクトリがあります。コードはファイルを読み取り、ファイル内のデータに基づいてヒストグラムを作成します。

ただし、コマンドラインでcsvファイルの列ヘッダーの1つを入力できるようにしようとしています。コードは指定されたコマンドのグラフのみを作成します。例: python histogram_maker.py "C:/Folder" Area.

できたのですが、csvファイルに指定されていないコマンドを入力した場合にエラーメッセージを出す部分を追加したいです。例: 境界が存在しません。どうやってやるの?

for column in df:
    os.chdir(directory)
    if len(sys.argv)>2:
        for x in arguments:
            if x.endswith(column):
                # code to make histogram

x.endswith(column)エラーメッセージが表示されない場合に表示される部分が必要です。

4

3 に答える 3

1

Python でエラーを発行する標準的な方法は、raise Exception("error message"). または、のサブクラスをException同じ方法で使用します。ユーザーにスタック トラックをダンプしたくない場合は、スクリプト全体をtry...exceptステートメントでラップsys.stderr.write(str(e))し、exceptブロック内のようなものを使用して、エラー メッセージを STDERR に出力するだけです。次に、 を使用sys.exit(1)してゼロ以外の戻りコードで終了するか、errnoモジュールから適切な戻りコードを選択して に渡すことをお勧めしsys.exitます。

だから私はこのようなことをします(私があなたの質問を理解していれば):

import sys, errno

try:
    for column in df:
        os.chdir(directory)
        if len(sys.argv)>2:
            for x in arguments:
                if x.endswith(column):
                    # code to make histogram
                    pass
                else:
                    raise Exception("Perimeter does not exist")
except Exception, e:
    sys.stderr.write("Error: %s" % str(e))
    sys.exit(errno.EINVAL)

エラーと例外に関する Python ドキュメントを参照してください。

于 2013-08-08T13:35:35.353 に答える
0

これを探していますか?

raise Exception("Perimeter does not exist")

ドキュメンテーション

于 2013-08-08T13:36:11.127 に答える
0

例外メカニズムを使用します。http://docs.python.org/2/reference/executionmodel.html#exceptionsをご覧ください

于 2013-08-08T13:36:19.740 に答える