Skip to main content
 首页 » 编程设计

Python optparse,有一个选项取决于另一个

2025年05月04日7yxwkf

有没有办法让下面的工作? 我正在寻找的是根据另一个选项的值获得一个选项的值。

import optparse 
parser = optparse.OptionParser() 
 
parser.add_option("--file-name", default="/foo/bar", dest="file_name") 
 
parser.add_option("--file-action",  
    default="cp %s /bar/baz" % (options.file_name),  
    dest="fileaction") 
 
options, args = parser.parse_args() 

显然,就目前而言,它是行不通的,因为

赋值前引用的局部变量'options'

请您参考如下方法:

两者兼而有之:

parser.add_option("--file-name", dest="file_name") 
parser.add_option("--file-action", dest="file_action") 

你可以使用简单的逻辑。

if options.file_name: 
    #do code relating to file_action 

甚至

if options.file_action and not options.file_name: 
    raise ValueError("No Filename specified") 
# do your code here.