python - 使用 Optparse 并将输出写入命名文件
问题描述
我正在尝试编写一个脚本,该脚本将采用参数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 次迭代。
....等,在输出文件中。
解决方案
您的代码可以正常工作,在替换-iterations
为--iterations
并这样调用它之后:
python toy_script.py -b0.3 -k20
(在 Windows 上测试)
推荐阅读
- routes - 重新加载页面回到登录角度 6
- linq - Kotlin 中的语言集成查询?
- javascript - AJAX 在 macOS WebView 中不起作用
- service - 在服务中处理较长的 Pod 响应时间
- javascript - ExtJs 工具栏配置对象
- node.js - 使用反向代理运行的 NodeJS 服务器
- spring-boot - 如何在spring boot java mail api中使用relayHost配置邮件属性
- java - Javafx 设置背景
- powershell - 如何从特定 PC 的注册表中找到 Trend 的版本?
- go - 在围棋中将小数赔率转换为分数(英国)赔率