470,849 Members | 901 Online
Bytes | Developer Community
New Post

Home Posts Topics Members FAQ

Post your question to a community of 470,849 developers. It's quick & easy.

optparse global

Hello,

How do i make an option passed through command line, using optparse
global. I need to import this value in another file.

This is what iam trying to do.

$python test.py -d ffffffffffff

i should be able to store 'ffffffffffff' as global so that i could
access this value in another file. If 'ffffffffffff' is not given, then
a default value stored in
parser.add_options("-d", default="01ff010BFFFF", action="store")
will be returned.

Thanks,
-Ashton

Jul 19 '05 #1
6 2532

Ashton> How do i make an option passed through command line, using
Ashton> optparse global. I need to import this value in another file.

Place the parser's output at the module scope.

global options
parser = OptionParser()
parser.add_option("-p", "--port", dest="port", default=5007,
type="int",
help="port to connect to for remote interpreter")
...
options, args = parser.parse_args()

The user of your module can then execute

from othermodule import options
print options.port

Skip
Jul 19 '05 #2
This does not seem to work. I still get the default value 5007 when i
run
$python txd.py - p5006
$python testme.py

***txd.py***

global options
parser = OptionParser()
parser.add_option("-p", "--port", dest="port", default=5007,
type="int",
help="port to connect to for remote interpreter")

options, args = parser.parse_args()

**testme.py**
from txd import options

print options.port

-Ashton

Jul 19 '05 #3

Ashton> This does not seem to work. I still get the default value
Ashton> 5007...

Hmmm... Works for me (Python from CVS):

% python testme.py
5007
% python testme.py -p 5006
5006
% python testme.py -p5006
5006

The only change from what you posted was to add

from optparse import OptionParse

to txd.py.

Skip
Jul 19 '05 #4
Thanks. It works.
-Ashton

Jul 19 '05 #5
On 16 May 2005 14:41:58 -0700, "as*****@gmail.com" <do*****@gmail.com>
declaimed the following in comp.lang.python:
Thanks. It works.
-Ashton
So far as I understand, the

global

is not needed for your example. "global <name>", when used
/inside/ a function definition, grants modify access to <name> at the
module level.

But for an "import module", you already specify as module.name
to access the module level namespace.

-- ================================================== ============ <
wl*****@ix.netcom.com | Wulfraed Dennis Lee Bieber KD6MOG <
wu******@dm.net | Bestiaria Support Staff <
================================================== ============ <
Home Page: <http://www.dm.net/~wulfraed/> <
Overflow Page: <http://wlfraed.home.netcom.com/> <

Jul 19 '05 #6

Dennis> So far as I understand, the
Dennis> global
Dennis> is not needed for your example.

I think the original context was that optparse was being used in the context
of a function.

Skip
Jul 19 '05 #7

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

8 posts views Thread by Hans-Joachim Widmaier | last post: by
7 posts views Thread by Henry Ludemann | last post: by
3 posts views Thread by Karlo Lozovina | last post: by
3 posts views Thread by Bob | last post: by
reply views Thread by Steven Bethard | last post: by
2 posts views Thread by Tim Arnold | last post: by
reply views Thread by Robert Kern | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.