Posted to the Optik list, but it seems defunct. Optik is now Python's
optparse.
I wonder how do you implement optional arguments to Optik. I.e., you
can have an option
-P [file]
-- the filename is optional, with a default "data,pikl". It works as
follows:
-- if no -P is given, no pickle is written
-- if -P is given without the filename following, a pickle file is
written with the default name data.pikl
-- if -P filename is given, the pickle is written to filename
How do we do optional values in Optik, with nargs <= 1?
Another question I have it how can I output a docstring right from the
parser.add_option() block? I prefer to define all option-related
things in the same block once. I'd like to output the help value from
the block, or append it to a report.
Here's example from my Ruby wrapper for Ruby's optparse:
name = :divisor
help = "show divisor"
short = "-m"
opt.on(short, "--#{name} [STR]", help) do |val|
hash[:show_divisor] = true
hash[:divisor] = val if val
end
report << [name,short,help]
-- notice that my report list is built with the exact values of all
options, regardless of whether they're encountered or not. The I
simply walk through the report list to print a report for this run:
report.each do |name,short,help|
val = opts.name || "----"
STDERR.printf "--%s (%s)\t\%s\t%s\n", o, short, val, help
end if verbose
How can I group such reporting together with add_option in Optik?
Cheers,
Alexy 2 2887
braver wrote:
Posted to the Optik list, but it seems defunct. Optik is now Python's
optparse.
I wonder how do you implement optional arguments to Optik.
You may want to check out argparse: http://argparse.python-hosting.com/
It supports optional arguments like this::
parser = argparse.ArgumentParser()
parser.add_argument('-P', metavar='file', nargs='?', const='data')
args = parser.parse_args()
if args.file is not None:
# -P was supplied, so do something with the file
# if no argument to -P was given, it will be 'data'
Another question I have it how can I output a docstring right from the
parser.add_option() block? I prefer to define all option-related
things in the same block once. I'd like to output the help value from
the block, or append it to a report.
Here's example from my Ruby wrapper for Ruby's optparse:
I don't understand what you want here (and I don't understand the Ruby
code). Can you try explaining what you're trying to do here a different
way?
STeVe
Steve -- thanks for your pointer to argparse, awesome progress --
optional arguments.
However, I still wonder how I do reporting. The idea is that there
should be a list with tuples of the form:
(short, long, value, help)
-- for all options, regardless of whether they were specified on the
command line or not.
Moreover, a way to create such list should be incremental -- in ruby I
define things around each option definition and add a new tuple to the
reporting list right after the block defining the option.
The idea is, -- help should report on all options with their actual or
default values, and everything pertaining to one option -- its
definition, callbacks, and adding it to the reporting list -- must be
in vicinity of each other, so I don't forget to output some stuff
about an option ten options below... The snippet I've shown pretty
much does it in Ruby.
Ah, yeah, and another thing -- I want to define a module with about 10
options common for a project. Then I'd import it in scripts, and
there should be three things doable with the preexisting default
options:
-- turn off any of them
-- supply new defaults to any of them
-- add new options in the same way
Wonder how brave pythonistas do that!
Cheers,
Alexy This thread has been closed and replies have been disabled. Please start a new discussion. Similar topics
by: David Stockwell |
last post by:
Whats a good way to get arguments off of the command line?
Thanks
David
-------
Tracfone: http://cellphone.duneram.com/index.html
Cam: http://www.duneram.com/cam/index.html
Tax:...
|
by: Tomi Silander |
last post by:
Hi,
this must have been asked 1000 times (or nobody is as stupid as me),
but since I could not find the answer, here is the question.
My program mitvit.py:
--------------
import optparse...
|
by: Alex Gittens |
last post by:
I would like my program to accept a list of range values on the
command line, like
-a 1
-a 1-10
-a 4,5,2
In the interest of avoiding reinventing the wheel, is there already
available code for...
|
by: olaufr |
last post by:
Hi,
I need to call a python script, with command line arguments (it is an
autonomous script with a __main__), from within another python script.
Can I use exec() or execfile() for this? How to...
|
by: Steven Bethard |
last post by:
I feel like I must be reinventing the wheel here, so I figured I'd post
to see what other people have been doing for this. In general, I love
the optparse interface, but it doesn't do any checks...
|
by: cody |
last post by:
I got a similar idea a couple of months ago, but now this one will require
no change to the clr, is relatively easy to implement and would be a great
addition to C# 3.0 :)
so here we go..
To...
|
by: Ritesh Raj Sarraf |
last post by:
Hi,
I'm having some minor problems with optparse. I'm just worried that
someone shouldn't say that multiple argument feature isn't implemented
in optpartse.
How to tackle multiple arguments...
|
by: Rob Hoelz |
last post by:
So these two functions are different:
void foo(void);
and
void foo();
because the first one allows no arguments, but the second does. My
question is: In the implementation of the...
|
by: Rocky Zhou |
last post by:
I wonder is there any way to make the wrapper program can wrap options
&& arguments for the the subprocess/command the wrapper will
execute? by getopt or optparse module?
This is something...
|
by: DolphinDB |
last post by:
Tired of spending countless mintues downsampling your data? Look no further!
In this article, you’ll learn how to efficiently downsample 6.48 billion high-frequency records to 61 million...
|
by: ryjfgjl |
last post by:
ExcelToDatabase: batch import excel into database automatically...
|
by: isladogs |
last post by:
The next Access Europe meeting will be on Wednesday 6 Mar 2024 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM).
In this month's session, we are pleased to welcome back...
|
by: isladogs |
last post by:
The next Access Europe meeting will be on Wednesday 6 Mar 2024 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM).
In this month's session, we are pleased to welcome back...
|
by: ArrayDB |
last post by:
The error message I've encountered is; ERROR:root:Error generating model response: exception: access violation writing 0x0000000000005140, which seems to be indicative of an access violation...
|
by: PapaRatzi |
last post by:
Hello,
I am teaching myself MS Access forms design and Visual Basic. I've created a table to capture a list of Top 30 singles and forms to capture new entries. The final step is a form (unbound)...
|
by: Defcon1945 |
last post by:
I'm trying to learn Python using Pycharm but import shutil doesn't work
|
by: Shællîpôpï 09 |
last post by:
If u are using a keypad phone, how do u turn on JavaScript, to access features like WhatsApp, Facebook, Instagram....
|
by: af34tf |
last post by:
Hi Guys, I have a domain whose name is BytesLimited.com, and I want to sell it. Does anyone know about platforms that allow me to list my domain in auction for free. Thank you
| |