473,804 Members | 3,700 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Access to variable from external imported module

How to access to a variable (that value is not returned) from a module
imported?
And the variable is set at the module-level.

That module is external to my program, it's from another project so I
wann't modifying it.

Nov 23 '06
17 1691
GinTon wrote:
Thanks Robert, the best solution is get all local variables, else is
impossible access to them.
For test purposes/ex post inspection you could also uncomment the line in:

def f(a=1):
b=2
c=3
#globals().upda te(locals())
return a+b
--

then it is more easy and you can get it like:

module.c
You can also create a total stack trace dynamically with this trick function:

def mktb():
try: raise UserWarning
except: return sys.exc_info()[2]

def f(a=1):
b=2
c=3
global ftb;ftb=mktb()
return a+b
----

and then fully inspect the total situation in the func (and all down the call history) ex post at any time with
>>f()
pdb.post_mort em(module.ftb) # then do once 'up' in pdb/pywin.debugger. ..
pywin.debugge r.post_mortem(m odule.ftb)

Which other programming language can do things like this?
( Unfortunately (legacy) Python has no possibility to (re-)continue execution from exceptions/traces other than by simple generators )

Robert
robert ha escrito:
>GinTon wrote:
>>I would to access to values that are created locally in that method
after the method has executed? usually the return value?
or you want to get all local variables, then make a func/method

def f(a=1):
b=2
c=3
return locals() #X/Object(locals() )

--------

d=module.f()
print d['c'] # d.c
Nov 24 '06 #11


On Friday 24 November 2006 03:30, John Machin
wrote:
jim-on-linux wrote:
GinTon,

I think this is what you want.
class Kdoi:

Is that a typo?
No, it's a style. life seems to be easier
to me if one is consistent, all my classes begin
with K.
>
def __init__(self) :
self.Fdo()

What is all this K and F stuff?
It's my style. life seems to be easier to me
if one is consistent all my function begin with
F.

I started doing things like this when the only way
to debug was to read each line of code and try to
figgure out if it was the problem.
They are my personal sign posts.
def Fdo(self):
searchterm = 'help'
print searchterm #local

self.searchterm = searchterm
print self.searchterm #used inside the
class

Kdo.searchterm = searchterm #<<<<
print Kdo.searchterm #used outside the
class Kdomore()

class Kdomore(Kdo):
def __init__(self) :
self.Fdomore()

def Fdomore(self):
searchterm = Kdo.searchterm #
<<<< print searchterm

It's not apparent what the print statements are
for -- are they part of an attempt to debug
your code?
print shows the results wherever a print statement
turns up the results = 'help' .
I didn't run the code, and it has it has a coding
error but if removed, the results should be;

searchterm = 'help'
self.searchterm = 'help'
Kdo.searchterm = 'help'

Sound silly but many people have trouble with
getting a variable from here to there in their
code. This shows that it can be done
What gives you the idea that this is what the
OP wants or needs?
If I remember right, he refrased his first
question and asked a second one.
Sometimes people don't take the time to write
correctly, the questions that are really in their
mind. So I guessed. If Im wrong, he will ignore
it. If I'm right, he will use it.

Also, I have found that other will latch on to the
ideas presented in these email responses. And
they will use them, even though the response was
not exactly what the original emailer wanted.

And, I sometimes I do use print statements to
debug, I have used other ways but on linux, I
prefer a print statement.

jim-on-linux
http://www.inqvista.com



Nov 24 '06 #12
On Friday 24 November 2006 13:01, jim-on-linux
wrote:
On Friday 24 November 2006 03:30, John Machin

wrote:
jim-on-linux wrote:
GinTon,
>
I think this is what you want.
>
>
class Kdoi:
Is that a typo?

No, it's a style. life seems to be
easier to me if one is consistent, all my
classes begin with K.
Sorry, Kdoi should be Kod
>
def __init__(self) :
self.Fdo()
What is all this K and F stuff?

It's my style. life seems to be easier to
me if one is consistent all my function begin
with F.

I started doing things like this when the only
way to debug was to read each line of code and
try to figgure out if it was the problem.
They are my personal sign posts.
def Fdo(self):
>
>
searchterm = 'help'
print searchterm #local
>
self.searchterm = searchterm
print self.searchterm #used inside the
class
>
Kdo.searchterm = searchterm #<<<<
print Kdo.searchterm #used outside the
class Kdomore()
the line above should be Kdomore(), not class
Kdomore() (For the technocrats)
>
>
>
class Kdomore(Kdo):
def __init__(self) :
self.Fdomore()
>
def Fdomore(self):
searchterm = Kdo.searchterm #
<<<< print searchterm
It's not apparent what the print statements
are for -- are they part of an attempt to
debug your code?

print shows the results wherever a print
statement turns up the results = 'help' .
I didn't run the code, and it has it has a
coding error but if removed, the results should
be;

searchterm = 'help'
self.searchterm = 'help'
Kdo.searchterm = 'help'

Sound silly but many people have trouble
with getting a variable from here to there in
their code. This shows that it can be done
What gives you the idea that this is what the
OP wants or needs?

If I remember right, he refrased his first
question and asked a second one.
Sometimes people don't take the time to write
correctly, the questions that are really in
their mind. So I guessed. If Im wrong, he will
ignore it. If I'm right, he will use it.

Also, I have found that other will latch on to
the ideas presented in these email responses.
And they will use them, even though the
response was not exactly what the original
emailer wanted.

And, I sometimes I do use print statements to
debug, I have used other ways but on linux, I
prefer a print statement.
jim-on-linux
http://www.inqvista.com
Nov 24 '06 #13
On Friday 24 November 2006 13:20, jim-on-linux
wrote:
On Friday 24 November 2006 13:01, jim-on-linux

wrote:
On Friday 24 November 2006 03:30, John Machin

wrote:
jim-on-linux wrote:
GinTon,

I think this is what you want.


class Kdoi:
>
Is that a typo?
No, it's a style. life seems to be
easier to me if one is consistent, all my
classes begin with K.

Sorry, Kdoi should be Kod
Sorry again Kdoi should be Kdo
(Haste makes waste.)
>
def __init__(self) :
self.Fdo()
>
What is all this K and F stuff?
It's my style. life seems to be easier to
me if one is consistent all my function begin
with F.

I started doing things like this when the
only way to debug was to read each line of
code and try to figgure out if it was the
problem. They are my personal sign posts.
def Fdo(self):


searchterm = 'help'
print searchterm #local

self.searchterm = searchterm
print self.searchterm #used inside
the class

Kdo.searchterm = searchterm #<<<<
print Kdo.searchterm #used outside
the class Kdomore()

the line above should be Kdomore(), not class
Kdomore() (For the technocrats)
class Kdomore(Kdo):
def __init__(self) :
self.Fdomore()

def Fdomore(self):
searchterm = Kdo.searchterm #
<<<< print searchterm
>
It's not apparent what the print statements
are for -- are they part of an attempt to
debug your code?
print shows the results wherever a print
statement turns up the results = 'help' .
I didn't run the code, and it has it has a
coding error but if removed, the results
should be;

searchterm = 'help'
self.searchterm = 'help'
Kdo.searchterm = 'help'

Sound silly but many people have trouble
with getting a variable from here to there in
their code. This shows that it can be done
What gives you the idea that this is what
the OP wants or needs?
If I remember right, he refrased his first
question and asked a second one.
Sometimes people don't take the time to write
correctly, the questions that are really in
their mind. So I guessed. If Im wrong, he
will ignore it. If I'm right, he will use
it.

Also, I have found that other will latch on
to the ideas presented in these email
responses. And they will use them, even
though the response was not exactly what the
original emailer wanted.

And, I sometimes I do use print statements to
debug, I have used other ways but on linux, I
prefer a print statement.
jim-on-linux
http://www.inqvista.com
Nov 24 '06 #14

jim-on-linux wrote:
On Friday 24 November 2006 03:30, John Machin
wrote:
jim-on-linux wrote:
GinTon,
>
I think this is what you want.
>
>
class Kdoi:
Is that a typo?
No, it's a style. life seems to be easier
to me if one is consistent, all my classes begin
with K.
and end with "i"?
def __init__(self) :
self.Fdo()
What is all this K and F stuff?
It's my style. life seems to be easier to me
if one is consistent all my function begin with
F.
You left out a word; the correct way of phrasing that is: "All my
function _are_ begin with F" :-)

This appears to be a variation on "Hungarian notation"; google that for
opinions pro & con.

In a certain vernacular, it would be called "an effed concept" :-)
>
I started doing things like this when the only way
to debug was to read each line of code and try to
figgure out if it was the problem.
When was that? Even years ago, there were slightly better ways. For
example, my first boss' boss was an enthusiastic coder and debugger and
also a workaholic. Colleagues who lived along the same railway line as
he and were foolish enough not to hide behind a newspaper could have
their morning or evening reverie disturbed by a cry of "Glad you're
here! I'll hold the listing, you hold the dump!". I get the impression
that debugging techniques have moved along a little bit since then. :-)
They are my personal sign posts.
def Fdo(self):
>
searchterm = 'help'
print searchterm #local
>
self.searchterm = searchterm
print self.searchterm #used inside the
class
>
Kdo.searchterm = searchterm #<<<<
print Kdo.searchterm #used outside the
class Kdomore()
>
>
>
class Kdomore(Kdo):
def __init__(self) :
self.Fdomore()
>
def Fdomore(self):
searchterm = Kdo.searchterm #
<<<< print searchterm
It's not apparent what the print statements are
for -- are they part of an attempt to debug
your code?
print shows the results wherever a print statement
turns up the results = 'help' .
I didn't run the code, and it has it has a coding
error
I noticed.
but if removed, the results should be;

searchterm = 'help'
self.searchterm = 'help'
Kdo.searchterm = 'help'
No, the result would be
help
help
help

Plug in a text-to-speech module and a phone dialer and you're done ;-)
>
Sound silly but many people have trouble with
getting a variable from here to there in their
code. This shows that it can be done
What gives you the idea that this is what the
OP wants or needs?

If I remember right, he refrased his first
question and asked a second one.
Sometimes people don't take the time to write
correctly, the questions that are really in their
mind. So I guessed. If Im wrong, he will ignore
it. If I'm right, he will use it.
With luck. Kindly consider another possibility: that you are wrong (or
just marching to the beat of your own tambourine) and he (or she) is a
newbie & will use it :-)

[snip]

HTH,
John

Nov 24 '06 #15
On Friday 24 November 2006 13:41, John Machin
wrote:
jim-on-linux wrote:
On Friday 24 November 2006 03:30, John Machin

wrote:
jim-on-linux wrote:
GinTon,

I think this is what you want.


class Kdoi:
>
Is that a typo?
No, it's a style. life seems to be
easier to me if one is consistent, all my
classes begin with K.

and end with "i"?
def __init__(self) :
self.Fdo()
>
What is all this K and F stuff?
It's my style. life seems to be easier to
me if one is consistent all my function begin
with F.

You left out a word; the correct way of
phrasing that is: "All my function _are_ begin
with F" :-)
No, for Non-Hungrian programmers it's "all-ah me"
Functions gona begin witha F, not Func. anda
"all-ah-me" classes gona begin witha K, not Klas.
Anda only me gona Know the Fdiff cause me codea is
not opena. Anda I finda that it savea me time
causea I doa thisa way fora a longa time.

Whena I gonna hava to changea maybe I willa.
>
This appears to be a variation on "Hungarian
notation"; google that for opinions pro & con.

In a certain vernacular, it would be called "an
effed concept" :-)
I started doing things like this when the
only way to debug was to read each line of
code and try to figgure out if it was the
problem.

When was that?
That was when bill gates just left Harvard,
basic was brand new, and 4k of memory was
installed free when you bought a computer,
(TRS80), my first,. Assemble was the alternative
to Basic and you had to backup on tape because
floppies didn't exist. And, most people on this
site wern't even a gleem in their fathers eye.
Even years ago, there were
slightly better ways. For example, my first
boss' boss was an enthusiastic coder and
debugger and also a workaholic. Colleagues who
lived along the same railway line as he and
were foolish enough not to hide behind a
newspaper could have their morning or evening
reverie disturbed by a cry of "Glad you're
here! I'll hold the listing, you hold the
dump!". I get the impression that debugging
techniques have moved along a little bit since
then. :-)
They are my personal sign posts.
def Fdo(self):


searchterm = 'help'
print searchterm #local

self.searchterm = searchterm
print self.searchterm #used inside
the class

Kdo.searchterm = searchterm #<<<<
print Kdo.searchterm #used outside
the class Kdomore()



class Kdomore(Kdo):
def __init__(self) :
self.Fdomore()

def Fdomore(self):
searchterm = Kdo.searchterm #
<<<< print searchterm
>
It's not apparent what the print statements
are for -- are they part of an attempt to
debug your code?
print shows the results wherever a print
statement turns up the results = 'help' .
I didn't run the code, and it has it has a
coding error

I noticed.
but if removed, the results should be;

searchterm = 'help'
self.searchterm = 'help'
Kdo.searchterm = 'help'
Correct but when writing one must be clear.

Would it be better for me to write, your question
above was Is that a typo?

Or is it better if I were to write, your
question above, "Is that a typo?",
is a legimate question, but not clear.

So, to be clear one might write is "Kdoi"
correct?.

A clear response would be, it is not "Kdoi", it is
"Kdo".

But that's not correct either, it is Kdo.

If one runs the code I don't expect the user to
look for "help", I think we will see help and
will THINK that the results are correct.

THINK is also incorrect, it should be written.
think, or should it?

No, the result would be
help
help
help

Plug in a text-to-speech module and a phone
dialer and you're done ;-)
Sound silly but many people have trouble
with getting a variable from here to there in
their code. This shows that it can be done
What gives you the idea that this is what
the OP wants or needs?
If I remember right, he refrased his first
question and asked a second one.
Sometimes people don't take the time to write
correctly, the questions that are really in
their mind. So I guessed. If Im wrong, he
will ignore it. If I'm right, he will use
it.

With luck. Kindly consider another possibility:
that you are wrong (or just marching to the
beat of your own tambourine) and he (or she) is
a newbie & will use it :-)
"Because he being of course judge of that tendency
will make his opinions the rule of judgment, and
approve or condemn the sentiments of others only
as they shall square with or differ from his own…"
Thomas Jefferson

I enjoied this, but time is money,

jim-on-linux
http://www.inqvista.com


Nov 24 '06 #16
On Fri, 24 Nov 2006 16:56:58 -0500, jim-on-linux wrote:
Correct but when writing one must be clear.
[jaw drops]

Given the number of typos your posts include, the mock accent, the
nonsensical sentences, the annoying hard-to-read coding conventions, and
the sheer number of grammatical errors in your sentences, do you have any
idea of the irony of that statement?

No, I imagine you don't.

Oh, and don't flatter yourself that you're the Old Man of Programming,
compared to all the young whipper snappers on this list who, quote,
"wern't even a gleem in their fathers eye". Many of us have been around
quite a while, some of us even remember that there was a computer market
before Bill Gates went dumpster-diving for source-code for a BASIC
interpreter, and even if we weren't, there is nothing to be proud of using
1970s programming style in 2000s programming languages.
--
Steven.

Nov 24 '06 #17

The TRS-80 I bought came with both Basic and
Assembly Language teaching guides, and that was
it. To make the machine work one had to program.
I didn't mean to imply that Bill Gates developed
it. It's well known that MS borrowed stuff when
they needed to from where ever the could get it.
That's business.

I'm not an MS fan but Bill Gates was the one who
gave away a very cheep, borrowed but improved,
copy of DOS to computer sellers. These copies
could also be copied to floppies (8 inch). So,
DOS 3.3 was used by computer sellers, to install
DOS on the buyers machine, (intel 286) free.

On the other hand, IBM sold the same package for
$50.00.

I got the free copy of MS 3.3 with my 286.

After that, Windows 3.0 cost me $25.00,
Windows 3.1 cost me $30.00,
DOS upgrade from3.3 to 6.22 cost
me $55.00.
Since then I purchased Win 95, $100.00
and Win 98. $125.00.
And, all for testing software that I produced for
people that use that stuff.

Bill Gates probably can't program any software to
write "Hello World" on any screen, but I'll bet
he knows how to fill out a deposit ticket.

I think Bill Gates recognize early that the money
is in the marketing of the product, not the
programming of it. How else can you explain the
success of Windows, like it or not?

jim-on-linux
http://www.inqvista.com


On Friday 24 November 2006 17:18, Dennis Lee
Bieber wrote:
On Fri, 24 Nov 2006 16:56:58 -0500,
jim-on-linux <in*****@verizo n.net>

declaimed the following in comp.lang.pytho n:
That was when bill gates just left Harvard,
basic was brand new, and 4k of memory was

Pardon? I'd learned BASIC back around 1972, in
the 9th grade, using an ASR-33 with dial-up to
some company's Honeywell-Bull system.

BASIC is one of the ancients in languages,
predating Pascal and C.

Just because Gates managed to scrabble
together a BASIC interpreter for the MITS
Altair, and then had it picked up by other
makers of 8080/Z-80 based "microcomputers "
doesn't make it "brand new". (Personally, I
suspect he hasn't done any programming ever
since that day, and is probably still trying to
find some way to sue Kemeny&Kurtz (sp?s) over
their own creation)
--
Wulfraed Dennis Lee Bieber KD6MOG
wl*****@ix.netc om.com wu******@bestia ria.com
HTTP://wlfraed.home.netcom.com/
(Bestiaria Support
Staff: we******@bestia ria.com)
HTTP://www.bestiaria.com/
Nov 24 '06 #18

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

Similar topics

6
4765
by: Peter Frost | last post by:
Please help I don't know if this is possible but what I would really like to do is to use On Error Goto to capture the code that is being executed when an error occurs. Any help would be much appreciated. Thanks in advance
7
3068
by: Darren | last post by:
I have been attempting to create a reservation planning form in excel that imports Data from an Access database and inserts that information automaticly into the correct spreed sheet and the correct cells within that worksheet. The Excel Book is made up of 12 worksheets named Jan-Dec. Each worksheet has columns labeled as each day of that month. Column 'A' is reserved for 19 rows named "room1 - room19". The data I am importing from the...
3
5339
by: ghadley_00 | last post by:
Hi, Does anyone know of a way I can write a script that imports a table from a particular .mde file? I don't seen any obvious way to do it as a macro. Any suggestions if it can be done as a macro or as a written module? My ultimate goal is to have script that clears info out of 1 table in an .mdb file, imports an identically structured table from a .mde file, runs an append query I have in place to copy the data from the imported
3
1552
by: Marco Aschwanden | last post by:
Hi I have a script that looks for modules and tries to load them. After loading I attach the "server"-API function to it. module = __import__(module_name, globals(), locals(), ) module.server = server.server_api Now, some modules need the "server" functionality on load/init. I tried to modify the globals():
1
3114
by: puremetal33 | last post by:
I have worked very little with Access and have hit a snag. My task right now is to import the data from a spreadsheet into an existing table in an Access database. I edited the .xls file so that fields are laid out the same L-R and made certain that the data is the same in both the .xls file and the table it is to be imported to have the same data type in each field. I follow the File>Get External Data>Import path and choose the .xls...
4
2104
by: noagbodjivictor | last post by:
I have a variable names actions in a module named qt_actions.py Well this is what I get: Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: 'module' object has no attribute 'actions'
1
1200
by: hjeff71 | last post by:
Ok, we've got this complicated form with 10000s of lines of vba code, doing all sorts of calculation, The forms are on several pcs, and the tables are on the server, (using the external link) Now we need to install those forms on many other pcs and are looking into buying liscencing, Along the road, someone suggested to have the forms in Outlook instead of Access, (Since every one has Outlook) My question is: Can a Form be imported...
4
6007
by: RgeeK | last post by:
I have a main module doStuff.py and another module utility.py. At the start of doStuff.py I call import utility.py Then I also proceed to initiallize some global variables sName = "" Then I create a class, some methods etc. In one of the methods I assign
6
26336
by: provor | last post by:
Hello, I have the following code that I am using when a user presses a button to import an excel file into a table. The code is hard coded to point to the correct table. This works great for this one table. My problem is I have two buttons I want to use this code for for the two buttons would put the data in different tables. I have tried copying and changing a few things and nothing will work for me. The code is set up in a module and then I...
0
9582
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
10580
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
0
10335
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
1
10323
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
0
9157
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
1
7621
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
5525
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
0
5652
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
2
3821
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.

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.