-1
Lancetは、パラメータスペースを探索するためのPythonライブラリです。ジョブを起動し、出力を整理し、結果を分析することができます。ShellCommandがLancentライブラリで実行できるpython関数の記述方法は?
私は実行するために、ドキュメントhereで、トラブルクイックスタートの例を取得することです。これはコードです:
import lancet
example_name = 'prime_quintuplet'
integers = lancet.Range('integer', 100, 115, steps=16, fp_precision=0)
factor_cmd = lancet.ShellCommand(executable='python factor.py', posargs=['integer'])
lancet.Launcher(example_name, integers, factor_cmd, output_directory='output')()
def load_factors(filename):
"Return output of 'factor' command as dictionary of factors."
with open(filename, 'r') as f:
factor_list = f.read().replace(':', '').split()
return dict(enumerate(int(el) for el in factor_list))
output_files = lancet.FilePattern('filename', './output/*-prime*/streams/*.o*')
output_factors = lancet.FileInfo(output_files, 'filename',
lancet.CustomFile(metadata_fn=load_factors))
primes = sorted(factors[0] for factors in output_factors.specs
if factors[0]==factors[1]) # i.e. if the input integer is the 1st factor
primes # A prime quintuplet, the closest admissable constellation of 5 primes.
私はこの問題は、私がのSHELLCOMMAND機能がどのように機能するかを理解していないということであると信じています。
私は「factor.py」という名前のファイルを書き込み、クイックスタートの例と同じdirrectoryにそれを置くことを試みました。
import argparse
def factor():
''' Returns an arbitrary list for testing. Not really a factor command'''
parser = argparse.ArgumentParser()
parser.add_argument("num1",help="Number to factor",type=int)
args = parser.parse_args()
return [args.num1, 2*args.num1, 1, 3]
私はエラーを取得する:
ラインにスローされますFileNotFoundError: [Errno 2] No such file or directory: 'python factor.py'
:
lancet.Launcher(example_name, integers, factor_cmd, output_directory='output')()
私はJupyterノートブックに事前に
おかげでPythonの3.4.5を使用していますどんな助けでも!
それはあなたが、私が見つけたこのランダムライブラリのすべてのドキュメントを読んで、小さな言葉で私にそれらを説明してください」*以外の求めているまさに不明です。ああ、ところで、私はPythonも知らない」 – MattDMo