2

そのため、Ubuntu 12.04 で完全に機能する py スクリプトを実行しています。すべてがうまく機能します。以下に示すように、入力方法が気に入らないことを除けば、面倒です。コードを入力する前に、このコードは .img 形式の 2 つの画像を取得し、それらに対して計算を行うことをお伝えしておきます。ここに私が持っているものがあります:

import os

first = raw_input("Full path to first .img file: ")
second = raw_input("Full path to second .img file: ")

print " "


if os.path.exists(first) == True:
    if first.endswith('.img') == False:
        print 'You did not give a .img file, try running again'
        os.sys.exit()
elif os.path.exists(second) == True:
    if second.endswith('.img') == False:
        print 'You did not give a .img file, try running again'
        os.sys.exit()
else:
    print "Your path does not exist, probably a typo. Try again"
    os.sys.exit()

これが私が欲しいものです。この入力をターミナルから直接pythonに供給できるようにしたい。つまり、ターミナルで次のような入力ができるようにしたい

python myscript.py with the two images as input

このようにして、パスなどを指定するときに端末のタブキーショートカットを利用できました。アイデア/提案はありますか?

編集:わかりましたので、解析を調べました。使用方法がわかったと思います。これが私のコードです:

import argparse

import nipy

parser = argparse.ArgumentParser()



parser.add_argument("-im", "--image_input", help = "Feed the program an image", type =     nipy.core.image.image.Image, nargs = 2)

しかし今、私はスクリプトでこれらのファイルを使用できるようにしたいと考えています。これは達成可能ですか?

4

4 に答える 4

7

プログラムの開始後に入力を読み取るのではなく、コマンド ライン引数を解析する場合。

argparseそのためにモジュールを使用するか、自分で解析しsys.argvてください。

于 2013-07-04T16:08:13.663 に答える
1

やりたいことは、コマンド ライン パラメーターを取り込むことです。これを行う最善の方法は、argparse と呼ばれる気の利いたモジュールを使用することです。インストール方法と使用方法に関する優れたリソースを以下にリストしました。

argparse の優れたリソースは次のとおりですコマンドライン引数を取るモジュールです。

于 2013-07-04T16:32:43.063 に答える
0

おそらくsys.argvを使用できます:

import sys

first = sys.argv[1]
second = sys.argv[2]

事前の確認をお忘れなくlen(sys.argv)

于 2013-07-04T16:21:30.790 に答える