【发布时间】:2014-07-27 02:35:47
【问题描述】:
我是 python 新手,我正在开发一个脚本来处理文件以进行一些计算。命令行中的脚本(preprocess.py)是这样调用的:
python preprocess.py if.txt of.txt 13 13 41 41 52 24
if.txt 是输入文件,of.txt 是输出文件,(13 13 41 41 52 24) 只是数据组和子组的大小。
在脚本的一部分中,使用两个变量(mean=0 和 std=1)进行计算。
我必须修改脚本,以便脚本接受一个可选参数,一个包含 2 个值(mean 和 std)的文件,这样,如果像上面那样调用脚本,则计算是用 mean=0 进行的和 std=1,但如果脚本是这样调用的:
python preprocess.py if.txt of.txt 13 13 41 41 52 24 xxxx.txt
脚本获取 xxxx.txt 文件中的两个值,并将每个值保存在其各自的变量(均值和标准差)中。
脚本现在使用sys.argv[] 命令获取参数。我一直在寻找解决这个问题的方法,发现argparse模块可以解决它但是我无法理解如何从文件中获取值并按预期保存。
如何使用 argparse 模块使 xxxx.txt 文件成为可选参数以及如何将该文件中的两个值保存在两个变量(mean 和 std)中?
如果我使用 argparse 模块,是否应该使用 argparse 来获取所有其他参数?如果有,该怎么做?
PD:我正在学习英语,所以如果我犯了错误,请纠正我。
【问题讨论】:
-
你试过什么?你有尝试过吗?你被什么困住了?
-
查看
argparsetutorial。这很容易通过,应该可以帮助您入门。 -
如果你不想使用
argparse然后检查最后一个参数 - 如果你不能使用int()转换它那么它是文件名。
标签: python argparse optional-parameters