1
def nearbin():
    parser = argparse.ArgumentParser(description = "choose near bin")
    parser.add_argument("-bin",  type=int,action = "store", default = "10", help="bin number")   
    args = parser.parse_args()   
    bin = args.bin 
    print bin
    return f(bin)


if __name__ == "__main__":
    nearbin()        

コマンドラインで、「pythontest.py-bin10」を使用してプログラムを実行できます

import test別のPythonスクリプトで関数を使用し、別のスクリプトで関数を使用したい場合nearbin(bin)、どうすればよいですか?

4

2 に答える 2

3

私の通常のアプローチ:

def nearbin(bin):
    ...

def main(args):
    parser = argparse.ArgumentParser(...)
    ...
    args = parser.parse_args(args)

    nearbin(args.bin)

if __name__ == '__main__':
    sys.exit(main(sys.argv[1:]))

これにより、直接のコマンドライン呼び出し(./script.py -bin 20)、コマンドライン引数を使用した呼び出し(main("-bin 20".split()))、およびプログラムによる呼び出し(nearbin(20))をサポートできます。

于 2012-10-25T07:01:12.943 に答える
2

次に、チェック内のコマンドライン引数を解析して、次のよう__main__にに渡す必要があります。nearbin

def nearbin(bin):
    print bin
    return f(bin)


if __name__ == "__main__":
    parser = argparse.ArgumentParser(description = "choose near bin")
    parser.add_argument("-bin",  type=int,action = "store", default = "10", help="bin number")   
    args = parser.parse_args()   
    bin = args.bin 
    nearbin(bin)   
于 2012-10-25T06:58:12.050 に答える