我正在尝试编写一个脚本,它将接受一个参数beta,以及k次迭代,然后打印"beta“k次。
我希望能够在命令行中指定beta和k,然后从那里运行此脚本。我使用optparse的方法如下:
import io
from optparse import OptionParser
parser = OptionParser()
parser.add_option("-b", "--beta",type="float", dest="input_parameter")
parser.add_option("-k", "-iterations",type="int",dest="number_of_iterations")
(options, args) = parser.parse_args()
Beta = options.input_parameter
K = options.number_of_iterations
with io.open("output_when_beta_equals_{0}.txt".format(Beta), "a") as f:
for i in range(K):
f.write(u"beta = {0}, this is iteration number {1}.".format(Beta, i))
然后我试着跑
python toy_script.py -b $"0.3" -k $20
然后,生成的"output_when_beta_equals_0.3.txt“文件最终为空。
我正在尝试找出我需要做些什么来解决这个问题,这样我就可以得到20行
beta = 0.3,这是迭代号0。beta = 0.3,这是迭代次数1。
……等等,在输出文件中。
发布于 2018-06-08 06:13:57
在用--iterations
替换-iterations
并按如下方式调用它之后,您的代码可以正常工作:
python toy_script.py -b0.3 -k20
(在Windows上测试)
https://stackoverflow.com/questions/50749845
复制相似问题