使用 Optparse 并将输出写入命名文件
Using Optparse and Writing output to named files
我正在尝试编写一个脚本,它将接收 参数 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
从命令行,然后生成的 "output_when_beta_equals_0.3.txt" 文件最终为空。
我正在努力弄清楚我需要做什么来解决这个问题,这样我就可以得到 20 行
beta = 0.3,这是迭代次数 0。
beta = 0.3,这是第 1 次迭代。
.....等,在输出文件中。
将 -iterations
替换为 --iterations
并像这样调用它后,您的代码有效:
python toy_script.py -b0.3 -k20
(在 Windows 上测试)
我正在尝试编写一个脚本,它将接收 参数 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
从命令行,然后生成的 "output_when_beta_equals_0.3.txt" 文件最终为空。
我正在努力弄清楚我需要做什么来解决这个问题,这样我就可以得到 20 行
beta = 0.3,这是迭代次数 0。 beta = 0.3,这是第 1 次迭代。
.....等,在输出文件中。
将 -iterations
替换为 --iterations
并像这样调用它后,您的代码有效:
python toy_script.py -b0.3 -k20
(在 Windows 上测试)