473,326 Members | 2,133 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,326 software developers and data experts.

accesibility of the namespace

In my code I have relatively wide dictionary definition (about 100
rows).

I would like to put it in to the different file (module) because of the
main code readability (say the name of the file will be
"my_dictionary.py")

In the dictionary I have strings formatted using % operator like:
lcd={2:"Your credit= %3d" % (credit)}

While I am trying to import my_dictionary in to the main code, I am
getting:

exception unhandled NameError
name "credit" is not defined

How can I organize my code so the "credit" variable will be "visible"
in the "my_dictionary" namespace?

Thanks

Petr Jakes

Mar 9 '06 #1
4 994
On Thu, 09 Mar 2006 01:42:55 -0800, Petr Jakes wrote:
In my code I have relatively wide dictionary definition (about 100
rows).

I would like to put it in to the different file (module) because of the
main code readability (say the name of the file will be
"my_dictionary.py")

In the dictionary I have strings formatted using % operator like:
lcd={2:"Your credit= %3d" % (credit)}
The values in the dictionary (e.g. "Your credit= 9.99", or whatever value
credit actually has) are fixed at creation. I assume that means that
credit etc. are also fixed values.

While I am trying to import my_dictionary in to the main code, I am
getting:

exception unhandled NameError
name "credit" is not defined

How can I organize my code so the "credit" variable will be "visible"
in the "my_dictionary" namespace?


Put it in the same module as my_dictionary.

E.g.

# Module my_dictionary.py
# which I hope will have a more sensible name before being used
# for production-code
credit = 27
foo = 15
lcd = {2: "Your credit= %3d" % credit}

On the other hand, if credit is a calculated value, this might not be
an easy thing to do. In that case, you can do this:
# Module calculatevalues.py
credit = some_function()
foo = some_other_function()

# Module my_dictionary.py
import calculatevalues
lcd = {2: "Your credit= %3d" % calculatevalues.credit}

On the third hand, if the strings from the dictionary are supposed to be
changed at run-time (which sounds more sensible to me) then do this:

# Module my_dictionary.py
lcd = {2: "Your credit= %3d"}
# main program
import my_dictionary
.... lots of code here
credit = 27
.... more code
print lcd[2] % credit


--
Steven.

Mar 9 '06 #2
Thanks Steven,
credit is mentioned to be a calculated value changed at run-time and
your "third hand" suggestion is exactly what I was looking for.

Petr Jakes

Mar 9 '06 #3
Ooooops. My keyboard (fingers) was faster than my mind :(
So....
There is more than one "run-time changed variable" in the dictionary
and not all strings in the dictionary are formatted using % operator.
Example:
lcd={
2:{2:(("Enter you choice"),("Your kredit= %3d" % (kredit)))},
4:{2:(("Your choice: %2s" % (keyboard)),("%-20s" % (actKeyboard)))}}

I do not know which variable(s) to use for the % operator in the time
of the call of the value (% formatted string) from the dictionary.

This is also the reason why the variable names are stored in the
dictionary with the strings.

Any other suggestions?
Thanks
Petr Jakes

Mar 9 '06 #4
Petr Jakes wrote:
Ooooops. My keyboard (fingers) was faster than my mind :(
So....
There is more than one "run-time changed variable" in the dictionary
and not all strings in the dictionary are formatted using % operator.
Example:
lcd={
2:{2:(("Enter you choice"),("Your kredit= %3d" % (kredit)))},
4:{2:(("Your choice: %2s" % (keyboard)),("%-20s" % (actKeyboard)))}}

I do not know which variable(s) to use for the % operator in the time
of the call of the value (% formatted string) from the dictionary.

This is also the reason why the variable names are stored in the
dictionary with the strings.

Any other suggestions?


So, use something like
lcd={ 2:{2:("Enter you choice","Your kredit= %(kredit)3d")},
4:{2:("Your choice: %(keyboard)2s" ,"%(actKeyboard)-20s")}} kredit = 7
keyboard = 'aa'
actKeyboard = 7654
lcd[2][2][-1] % vars() 'Your kredit= 7' lcd[2][2][0] % vars() 'Enter you choice' lcd[4][2][0] % vars() 'Your choice: aa' lcd[4][2][1] % vars() '7654 '


HTH
/MiO
Mar 9 '06 #5

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

1
by: John L. Clark | last post by:
I am curious as to the rationale, and effect, of having default namespaces not applying (directly) to attributes (see http://www.w3.org/TR/REC-xml-names/#defaulting). Given an attribute without a...
25
by: kj | last post by:
Consider the following XML document: <?xml version='1.0' encoding='UTF-8'?> <bar:foo xmlns:bar='someuri'> <baz/> </bar:foo> What namespace does baz belong to? What is this namespace bound...
3
by: Mike Dickens | last post by:
hi, i'm sure this has come up before but havn't managed to find an answer. if i have the following xslt <?xml version="1.0" encoding="ISO-8859-1"?> <xsl:stylesheet method="xml" version="1.0"...
6
by: Don Wash | last post by:
Hi There! I just need some advice on Namespace management for creating reusable VB.NET applications. I would like my applications to have this namespace structure... Namespace MyCompany ...
8
by: Petter Reinholdtsen | last post by:
I ran into a problem on HP-UX 11.00 the other day, where it refused to compile a program using 'using namespace std;' at the top. The reason seem to be that the compiler refuses to accept 'using...
10
by: Monte Gardner | last post by:
I'm teaching a class on web authoring and html. I'm trying to find a good reading article on accesibility issues. I'm trying to keep the reading supplements to relatively light reading, so I...
7
by: Kevin Newman | last post by:
I've been toying with a namespace manager, and wanted to get some input. So what do you think? if (typeof com == 'undefined') var com = {}; if (!com.unFocus) com.unFocus = {}; ...
14
by: Tiraman | last post by:
Hi , I would like to use nested namespace . I have 3 namespace as dll's : Namespace A Namespace B Namespace C And i want to have some namespace that contain them all , some thing like
2
by: petinboy | last post by:
Hi All! I am developing an accessibility keyboard application with Visual Studio 2005 Professional Edition and with C#. The application is a keyboard with buttons that interacts with any...
0
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...
0
by: ryjfgjl | last post by:
ExcelToDatabase: batch import excel into database automatically...
0
isladogs
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...
0
by: jfyes | last post by:
As a hardware engineer, after seeing that CEIWEI recently released a new tool for Modbus RTU Over TCP/UDP filtering and monitoring, I actively went to its official website to take a look. It turned...
0
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...
1
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)...
1
by: CloudSolutions | last post by:
Introduction: For many beginners and individual users, requiring a credit card and email registration may pose a barrier when starting to use cloud servers. However, some cloud server providers now...
1
by: Defcon1945 | last post by:
I'm trying to learn Python using Pycharm but import shutil doesn't work
0
by: Faith0G | last post by:
I am starting a new it consulting business and it's been a while since I setup a new website. Is wordpress still the best web based software for hosting a 5 page website? The webpages will be...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.