【问题标题】:Remove parsed options and their values from sys.argv从 sys.argv 中删除已解析的选项及其值
【发布时间】:2012-03-18 06:03:23
【问题描述】:

我正在尝试使用 optparse(将命令行选项解析到我的脚本)和 fileinput(通过管道或文件灵活地提供数据输入)。

import optparse, fileinput

parser = OptionParser()    
parser.add_option("-v", action="store_true", dest="verbose")
(options, args) = parser.parse_args()

for line in fileinput.input:
     process(line)

但是 fileinput 尝试使用“-v”选项以及文件名导致“没有这样的文件或目录错误”。因此,要么我需要制作文件输入参数,要么从 sys.argv 中删除已解析的选项,但是我不知道一种优雅的方法。有什么指点吗?

【问题讨论】:

    标签: python file-io python-2.5 optparse


    【解决方案1】:

    来自documentation

    要指定文件名的替代列表,请将其作为第一个参数传递给input()。也允许使用单个文件名。

    所以你可以传入你从optparse得到的剩余args

    【讨论】:

    • 啊。非常感谢。不敢相信我错过了。
    猜你喜欢
    • 2018-07-18
    • 1970-01-01
    • 1970-01-01
    • 2017-08-17
    • 1970-01-01
    • 1970-01-01
    • 2019-07-20
    • 1970-01-01
    • 2015-11-07
    相关资源
    最近更新 更多