使用Optparse和写入输出到命名文件

时间:2018-06-07 20:39:43

标签: python output optparse

我正在尝试编写一个脚本,该脚本将接受参数 beta和迭代次数 k,然后打印" beta& #34; 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。

....等,在输出文件中。

1 个答案:

答案 0 :(得分:1)

-iterations替换--iterations之后,您的代码可以正常工作,并按照以下方式调用它:

python toy_script.py -b0.3 -k20

(在Windows上测试)