Automatic Python import mechanism: autoimp initial release
Author: Connelly Barnes License: Public domain. I got sick of writing import X in Python. So, I created the module autoimp, which imports all modules automatically: from autoimp import * os.stat('.') Image.open('test.bmp') pylab.plot([1,2],[3,4]) scipy.linalg.eig([[1,2],[3,4]]) ... Thus one no longer needs to write import X. It would take too long to load every module when one writes from autoimp import *, so the imported modules are actually proxy objects which lazily load when they are first used. The modules are found by searching sys.path. This module will probably save me a lot of keystrokes; I hope you enjoy it. Blog post, with source code link: http://barnesc.blogspot.com/2006/06/automatic-python-imports-with-autoimp.html Comments, bugs, patches to: connellybarnes at domain yahoo.com. Thanks, Connelly __ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations.html
[ANN] clnum-1.2.1 Class Library For Numbers Python Binding
The clnum package adds rational numbers and arbitrary precision floating point numbers in real and complex form to Python. Also provides arbitrary precision floating point replacements for the functions in the math and cmath standard library modules. Home page: http://calcrpnpy.sourceforge.net/clnum.html Changes in 1.2.1 Updated the unit test so it works on both 32 and 64 bit platforms. Only the source package was updated since there are no other changes. -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations.html
Re: Xah Lee network abuse
Philippa Cowderoy [EMAIL PROTECTED] wrote in message news:[EMAIL PROTECTED] On Sun, 11 Jun 2006, Mike Schilling wrote: I'm not aware of any definition of libel that includes making statements that are not provably true. I believe UK law uses one that's close to it. If I were to write, say, that Tony Blair's tax policy will lead to higher deficits, I could be convicted of libel? Even if that's true, it's not a priori provable. -- http://mail.python.org/mailman/listinfo/python-list
Re: Very newbie programming
Maric Michaud wrote: Le Samedi 10 Juin 2006 17:44, TheSaint a écrit : begin using more explicit variable names. Frankly it's a very rooted way of programming, since C64 basic :-) A part of this, how python catch variables, the longer the slower, isn't it? Even supposing to use a set of similar name of variables. Of course nowadays this operations ending up in term of msecs. I still be used in old fashion. I'll change it by the time of necessity. and I generally avoid creating names I use only once, so : if not os.listdir('/media') : Great idea and common sense :-) There more expressive or more direct ways of doing all these, I like one liners (but a two steps can be more clear) : I like the clearer. I think python does it as we would think it off. x = ptn.readlines() this time we cut in two steps but this also just filtering. I found the bothering of having to remove the trailing LF \n. Perhaps need some new function to strip the last LF, for all of the files opened. if len(c) != 1: sys.exit(0) # if none or more than one match exit why ? os.system('umount %s' % devices[0]) I wasn't able to handle more than one mount a time. Furthermore, the script is executed every minute in a cron schedule. I don't expect to remove devices in so fast fashion :-) BTW, this operation is necessary because the kernel doesn't do it on its own, for pendrives and Compact Flash into PCMCIA socket. (Kernel 2.6.15 actually) One more point, suppose to use multiple removal, how will it remove also the icon(s) from the KDE desktop? Good to applying myself on studying on it :-) this will do exactly the same for icon_file in (open(dskt + e) for e in os.listdir(dskt) if '.desktop' in e) : for line in icon_file : if 'URL=/media' in line : icon = icon.name dvc = line[11:-1] break A simple question, how do I'll get out of all loops, once found the right result? F -- http://mail.python.org/mailman/listinfo/python-list
Re: learning python idioms
After several years developing in Java, I've begun to switch to Python for several of my new projects as I have found the language quite interesting. I've read several tutorials and implemented a few sample programs and I've found that Python enables one to program in a variety of different styles (I'm not sure if this was the original intention or not). Thus, I find myself occaisionally slipping into the Java mindset when writing Python code and I wonder if this is not optimal. Python is not Java and there must be more correct ways of doing this in Python that simply writing Java code with different syntax. Is there a good reference on the internet about Python-specific idioms and just good Python style in general. Which language constructs are efficient and which aren't? I completely agree with this. I wish some people would gather and create a site dedicated to efficient Python idioms. This would be truly awesome! I hope you get good news on this! http://vbgunz.blogspot.com -- http://mail.python.org/mailman/listinfo/python-list
Re: Xah Lee network abuse
Mike Schilling wrote: If I were to write, say, that Tony Blair's tax policy will lead to higher deficits, I could be convicted of libel? Even if that's true, it's not a priori provable. I think what he was getting at is that, unlike many jurisdictions, writing something factually true is _not_ in and of itself a defense against a libel suit in the UK. As for the reverse side of the issue, in jurisdictions where it _is_ a defense, if one were to accuse him of being a pedophile but couldn't prove it, that would certainly be an actionable offense. -- Erik Max Francis [EMAIL PROTECTED] http://www.alcyone.com/max/ San Jose, CA, USA 37 20 N 121 53 W AIM erikmaxfrancis Twenty-four hours a day, three-hundred sixty-five days a year as Secretary of Defense, I lived the Cold War. -- Robert S. McNamara -- http://mail.python.org/mailman/listinfo/python-list
ANN: PyGUI 1.7.2-1
I have uploaded a new PyGUI 1.7.2 package to correct a couple of errors in the setup.py file. http://www.cosc.canterbury.ac.nz/~greg/python_gui/ - What is PyGUI? -- PyGUI is an experimental highly-Pythonic cross-platform GUI API. Implementations are currently available for MacOSX and Gtk. For a full description of the project goals, see the PyGUI web page at the above address. -- Greg -- http://mail.python.org/mailman/listinfo/python-list
Re: Xah Lee network abuse
Philippa Cowderoy wrote: I'm not aware of a current legal system where it's the case, but I don't know the details of many of them. Many states have criminal as well as civil libel. http://en.wikipedia.org/wiki/Slander_and_libel -- http://mail.python.org/mailman/listinfo/python-list
Re: Xah Lee network abuse
On Sat, 10 Jun 2006, Erik Max Francis wrote: Mike Schilling wrote: If I were to write, say, that Tony Blair's tax policy will lead to higher deficits, I could be convicted of libel? Even if that's true, it's not a priori provable. I think what he was getting at is that, unlike many jurisdictions, writing something factually true is _not_ in and of itself a defense against a libel suit in the UK. It is. However, the onus is on the defendant to show that it's true, rather than on the claimant to show that it's false. I assume the he refers to Brandon? -- [EMAIL PROTECTED] A problem that's all in your head is still a problem. Brain damage is but one form of mind damage. -- http://mail.python.org/mailman/listinfo/python-list
Import elfclass32 issue
Hello Suse10.1 64 new install if I try to import anything into python2.4.2 like : python - c import kinterbasdb I get this : wrong ELF class: ELFCLASS32 Before doing anything wrong , what would be the right thing to do to get rid of this error ? Thanks. -- http://mail.python.org/mailman/listinfo/python-list
package search
I have two directories, lib1 and lib2, that both contain the package foo, one with the submodule mod1 and the other with the submodule mod2: $ ls lib*/foo/ lib1/foo/: __init__.py __init__.pyc mod1.py mod1.pyc lib2/foo/: __init__.py __init__.pyc mod2.py mod2.pyc $ Now this script: import sys sys.path.append(lib1) sys.path.append(lib2) import foo.mod1 will find the module foo.mod1, while the same script with the two append-lines interchanged will not: import sys sys.path.append(lib2) sys.path.append(lib1) import foo.mod1 The error is: import foo.mod1 ImportError: No module named mod1 So I guess that when Python finds the package foo, it will not look for it again using the rest of the search path, even if at that first place the module could not be found. Other languages like e.g. Java would find the module mod1 in the second case too (if Java doesn't find it in the first place, it will also look for it in the second place). This behaviour of Python is very unfortunate, because you always have to merge your package trees. In my cvs I have several packages, each in its own cvs module, all starting with de.science_computing. Now if I need two of them in a new project, I will have two package trees in my cvs sandbox, both starting with de.science_computing. Leaving the sandbox that way, cvs will work but Python imports will fail while if I merge all the package trees, Python will work but cvs won't. My questions: - Have I done anything wrong? - If not, is this behaviour of Python a bug or intentional? - If it it intentional, what is the intent? Thank you for your help Boris -- http://mail.python.org/mailman/listinfo/python-list
Re: Xah Lee network abuse
EJP wrote: Many states have criminal as well as civil libel. http://en.wikipedia.org/wiki/Slander_and_libel The idea of using Wikipedia to back up a legal point is rather amusing ... but still, none of the relevant parties involved live in countries which have any form of criminal libel. -- Erik Max Francis [EMAIL PROTECTED] http://www.alcyone.com/max/ San Jose, CA, USA 37 20 N 121 53 W AIM erikmaxfrancis To perceive is to suffer. -- Aristotle -- http://mail.python.org/mailman/listinfo/python-list
Re: Xah Lee network abuse
Philippa Cowderoy wrote: It is. However, the onus is on the defendant to show that it's true, rather than on the claimant to show that it's false. That also depends on the jurisdiction. I assume the he refers to Brandon? No, I was referring to the person who he was replying to, i.e., you. -- Erik Max Francis [EMAIL PROTECTED] http://www.alcyone.com/max/ San Jose, CA, USA 37 20 N 121 53 W AIM erikmaxfrancis Twenty-four hours a day, three-hundred sixty-five days a year as Secretary of Defense, I lived the Cold War. -- Robert S. McNamara -- http://mail.python.org/mailman/listinfo/python-list
Re: Xah Lee network abuse
On Sun, 11 Jun 2006, Erik Max Francis wrote: Philippa Cowderoy wrote: It is. However, the onus is on the defendant to show that it's true, rather than on the claimant to show that it's false. That also depends on the jurisdiction. Hrmm, does that one differ in Scotland? I assume the he refers to Brandon? No, I was referring to the person who he was replying to, i.e., you. Wrong pronoun, then. -- [EMAIL PROTECTED] Society does not owe people jobs. Society owes it to itself to find people jobs. -- http://mail.python.org/mailman/listinfo/python-list
Re: Very newbie programming
TheSaint wrote: A part of this, how python catch variables, the longer the slower, isn't it? nope. /F -- http://mail.python.org/mailman/listinfo/python-list
Re: Most elegant way to generate 3-char sequence
James Stroud wrote: See the actual question: How would you construct a generator to acheive this? if you don't think the context provided by the subject line and the sentence before the question is important, how come you're so sure what this refers to ? /F -- http://mail.python.org/mailman/listinfo/python-list
Re: Xah Lee network abuse
Philippa Cowderoy wrote: Hrmm, does that one differ in Scotland? I don't believe so. Wrong pronoun, then. Well, your comment was challenged, and I offered a reasonable interpretation of what you might have meant (which indicated a more general point in any case, namely that libel law is not quite as simple as the original poster was making it out to be). If you don't wish to defend your position, that's fine, but pointing fingers is kind of weird at this stage. -- Erik Max Francis [EMAIL PROTECTED] http://www.alcyone.com/max/ San Jose, CA, USA 37 20 N 121 53 W AIM erikmaxfrancis To perceive is to suffer. -- Aristotle -- http://mail.python.org/mailman/listinfo/python-list
Re: Xah Lee network abuse
On Sun, 11 Jun 2006, Erik Max Francis wrote: Philippa Cowderoy wrote: Hrmm, does that one differ in Scotland? I don't believe so. My statement was intended in the context of UK law - I have to admit to not knowing too much about what's different north of the border beyond the infamous verdict though. Wrong pronoun, then. Well, your comment was challenged, and I offered a reasonable interpretation of what you might have meant (which indicated a more general point in any case, namely that libel law is not quite as simple as the original poster was making it out to be). If you don't wish to defend your position, that's fine, but pointing fingers is kind of weird at this stage. I'd still appreciate being referred to as she rather than he though. -- [EMAIL PROTECTED] 'In Ankh-Morpork even the shit have a street to itself... Truly this is a land of opportunity.' - Detritus, Men at Arms -- http://mail.python.org/mailman/listinfo/python-list
Re: Xah Lee network abuse
Philippa Cowderoy wrote: I'd still appreciate being referred to as she rather than he though. Oops, my bad. Never occurred to me after all these years, which is kind of embarrassing, actually :-). -- Erik Max Francis [EMAIL PROTECTED] http://www.alcyone.com/max/ San Jose, CA, USA 37 20 N 121 53 W AIM erikmaxfrancis Isn't jumping of a bridge / Free fallin' -- Sandra St. Victor -- http://mail.python.org/mailman/listinfo/python-list
Re: learning python idioms
Hi, If you switched from java to python the best point to start is http://dirtsimple.org/2004/12/python-is-not-java.html. Greets, -Justin -- http://mail.python.org/mailman/listinfo/python-list
Re: learning python idioms
[EMAIL PROTECTED] wrote: After several years developing in Java, I've begun to switch to Python for several of my new projects as I have found the language quite interesting. I've read several tutorials and implemented a few sample programs and I've found that Python enables one to program in a variety of different styles (I'm not sure if this was the original intention or not). Thus, I find myself occaisionally slipping into the Java i googled Python idioms: http://www.gungfu.de/facts/wiki/Main/PythonIdioms also look at the OReilly Python cookbook and the online repository it's based on http://aspn.activestate.com/ASPN/Cookbook/Python -- http://mail.python.org/mailman/listinfo/python-list
Re: learning python idioms
bayerj wrote: Hi, If you switched from java to python the best point to start is http://dirtsimple.org/2004/12/python-is-not-java.html. Greets, -Justin yup, you could spend weeks reading the Language Wars: http://www.google.com/search?hl=enq=site%3Aartima.com+java+pythonbtnG=Google+Search http://del.icio.us/tag/python+java -- http://mail.python.org/mailman/listinfo/python-list
Re: Xah Lee network abuse
Erik Max Francis wrote: EJP wrote: Many states have criminal as well as civil libel. http://en.wikipedia.org/wiki/Slander_and_libel The idea of using Wikipedia to back up a legal point is rather amusing ... but still, none of the relevant parties involved live in countries which have any form of criminal libel. OK, OK, just proffered as information, not a conclusive proof. It's the *courts* that back up legal points of course, not anything said or found here. -- http://mail.python.org/mailman/listinfo/python-list
Re: Import elfclass32 issue
Sybren Stuvel wrote: file /path/to I installed the package on other 64 machines running suse9.2 64 and 9.3 64 without trouble That's the way : python setup.py build result: successfull python setup.py install result: successfull then tried to import and I get the elfclass32 error and that's all I did. The suse10.1 installation is pristine only auto updated with the latest patches of the day. Db -- http://mail.python.org/mailman/listinfo/python-list
Re: package search
Sybren Stuvel wrote: Simplicity and explicitness. You have two packages 'foo', and it simply loads the first one it finds. Yes, here you are right. It is indeed simple. Boris -- http://mail.python.org/mailman/listinfo/python-list
Re: Import elfclass32 issue
DarkBlue wrote: and that's all I did. The suse10.1 installation is pristine only auto updated with the latest patches of the day. if you're using a SuSE-provided python interpreter, you should make to use the right development files (python-dev, or whatever that's called over in SuSE land). if you do, it's a SuSE problem (this wouldn't be the first time SuSE ships broken Python software) have you checked the SuSE bug databases / support forums for clues, btw? (if you google for the error message, you'll find several hundreds of non-Python-related hits, so it's more of a 32/64-bit compiler problem than a Python problem...) /F -- http://mail.python.org/mailman/listinfo/python-list
Re: Algorithm for Labels like in Gmail
[EMAIL PROTECTED] wrote: Hello there! I'm trying to make a simple Contact Manager using python (console only), however i'm having trouble implementing a division by Groups or Labels just like in Gmail. I don't have any real code to post because all i got now is a raw TXT file holding the names and phones of my contacts. The only idea I could figure out until now seems too weak, so that's why i'm asking for help. I thought of making a separate list (in a text file) holding all the possible groups, where each group hold the names of the contacts. Then if i access a group, i'll be able to see all contacts related to that group. On the other hand, i'll also need to attach to the contact instance a list of every group it is present. I think it's a bad idea because it seems to be very easy to get things messed up. Like I can get things corrupted or bad linked, and i'll always need to run functions to check all the realations between contact names and groups... I like the way i can label emails on Gmail, does anyone know how I can implement such kind of feature? What's the best/broadly used algorithm? Sorry for the long message, and thanks in advance Rodolfo Carvalho There's a program called 'buzhug' (http://buzhug.sourceforge.net/) which is described as a pure-Python database engine, using a Pythonic, no-SQL syntax. I think it's in its early stages of development but it might be suitable for your project. I spent the morning playing about with it using your example of a (Very Simple) Contact Manager, and there's some runnable but unfinished code below. It only implements a 'Many-to-one' relationship between Contacts and Groups - in other words, a Contact can only belong to one Group. There's probably a lot I haven't considered, it will break easily, and the docstrings are in the post, but there you go. Have fun! Gerard (also - http://groups.google.com/group/buzhug) print from buzhug import Base import os def get_bases(): if os.path.exists('data'): return Base('data/dt_groups'), Base('data/dt_contacts') else: #Bases don't exist, so create them os.mkdir('data') groups = Base('data/dt_groups') groups.create( ('name', str) ) groups.insert( 'Family' ) groups.insert( 'Friends' ) groups.commit() contacts = Base('data/dt_contacts') contacts.create( ('group', groups), ('first_name', str), ('last_name', str), ('email', str) ) contacts.insert( groups[0], 'Jack', 'Jones', '[EMAIL PROTECTED]' ) contacts.insert( groups[0], 'John', 'Jones', '[EMAIL PROTECTED]' ) contacts.insert( groups[1], 'James', 'diGriz', '[EMAIL PROTECTED]' ) contacts.insert( groups[1], 'Dirk', 'Gently', '[EMAIL PROTECTED]' ) contacts.commit() return groups, contacts def usage(): print ''' ADD - Add a Contact eg. ADD Family, Susan, Smith, [EMAIL PROTECTED] eg. ADD Work, Jason, Jones, [EMAIL PROTECTED] DEL - Delete a Contact or Group eg. DEL firstname=Susan, lastname=Smith eg. DEL group=Family FIND - Search for contacts eg. FIND lastname=Smith eg. FIND group=Family EXIT - End the program ''' def intro(): print '\n' * 5 print '#' * 52 print '#' * 20, ' CONTACTS ', '#' * 20 print '#' * 52 usage() print '\n' * 2 def get_input(prompt): s = raw_input(prompt).strip() if s.upper() == 'EXIT': raise EOFError return s def ADD(groupname, firstname, lastname, email): groups, contacts = get_bases() try: groups.open() #see if a group with this name exists records = [ g for g in groups if g.name == groupname ] if len(records) == 0: #no group with this name, so create it gid = groups.insert( name=groupname.strip() ) group = groups[gid] else: group = records[0] finally: groups.commit() try: contacts.open() contacts.insert(group, firstname.strip(), lastname.strip(), email.strip()) finally: contacts.commit() def test(): groups, contacts = get_bases() try: contacts.open() for contact in contacts: print contact.group.name, contact.first_name, contact.last_name finally: contacts.commit() if __name__ == '__main__': intro() while True: try: s = get_input('- ') if s[0] == '?': usage() elif s == 'test': test() elif s[:4] == 'ADD ': grp, fname, lname, email = s[4:].split(',') try: ADD(grp, fname, lname, email) except Exception, e: print e except EOFError: break print '\nbye'
Re: regexp questoin
On 9 Jun 2006 17:44:42 -0700, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: actually, i am doing an application that allows user to delete files by entering an input pattern. If you are looking to match filenames, you might want to have a look at the fnmatch and glob modules. The patterns that they support are less powerful and flexible than regex patters, but much simpler, and specifically designed with filename matching in mind. -- Cheers, Simon B, [EMAIL PROTECTED], http://www.brunningonline.net/simon/blog/ -- http://mail.python.org/mailman/listinfo/python-list
Re: learning python idioms
yup, you could spend weeks reading the Language Wars: Actually, that link is not about language wars. It's about making the switch from java to python. Nothing more, nothing less. -- http://mail.python.org/mailman/listinfo/python-list
[mod_python] using nested blocks in psp
I'm a newbie in python, and I'm fighting against nested blocks in psp. Thats a little example with a funny behaviour: [code] html form select name=List !--makes a list with a loop -- % for i in range(50, 350, 50): if 'List' in form and int(form['List'])==i: sel=selected else: sel=pippo %option value=%=i% %=sel% %=i% /option % % /select input type=submit value=return/ /form /html [/code] In my intention, the for instruction have to run two operation: first: the if instruction second: to print the option tag on the html page. Instead, the real behaviour is depending on the result of the control in the if: if the control is true, the option tag is not printed, and the for instruction goes to the successive step. if the control is false, the option is correctly printed. I don't understand the reason of this behaviour. Which is the right way to control the nested block instructions in psp? -- http://mail.python.org/mailman/listinfo/python-list
[ANN] clnum-1.2.1 Class Library For Numbers Python Binding
The clnum package adds rational numbers and arbitrary precision floating point numbers in real and complex form to Python. Also provides arbitrary precision floating point replacements for the functions in the math and cmath standard library modules. Home page: http://calcrpnpy.sourceforge.net/clnum.html Changes in 1.2.1 Updated the unit test so it works on both 32 and 64 bit platforms. Only the source package was updated since there are no other changes. -- http://mail.python.org/mailman/listinfo/python-list
Re: Import elfclass32 issue
Fredrik Lundh wrote: if you do, it's a SuSE problem (this wouldn't be the first time SuSE ships broken Python software) Thanks for the input . Following your message I reinstalled python2.4 and the modules I want to use and now everything is fine. -- http://mail.python.org/mailman/listinfo/python-list
Re: package search
boris ha scritto: I have two directories, lib1 and lib2, that both contain the package foo, one with the submodule mod1 and the other with the submodule mod2: [...] Now this script: import sys sys.path.append(lib1) sys.path.append(lib2) import foo.mod1 will find the module foo.mod1, while the same script with the two append-lines interchanged will not: import sys sys.path.append(lib2) sys.path.append(lib1) import foo.mod1 The error is: import foo.mod1 ImportError: No module named mod1 [...] You just have to put in __init__.py in lib2 (the package directory you are extending), the following lines: from pkgutil import extend_path __path__ = extend_path(__path__, __name__) __path__, in each __init__ module, is a list initialized with the module's path, but you can extend it by appending paths where you want the interpreter to look for further modules. pkgutil.extend_path automatically appends to __path__ all subdirectories of directories on sys.path named after the package. HTH :-) Diego. -- http://mail.python.org/mailman/listinfo/python-list
Re: package search
imho wrote: You just have to put in __init__.py in lib2 (the package directory you are extending), the following lines: from pkgutil import extend_path __path__ = extend_path(__path__, __name__) __path__, in each __init__ module, is a list initialized with the module's path, but you can extend it by appending paths where you want the interpreter to look for further modules. pkgutil.extend_path automatically appends to __path__ all subdirectories of directories on sys.path named after the package. HTH :-) Diego. COOL! You just saved me an awful lot of work. Thanks, Diego! Boris -- http://mail.python.org/mailman/listinfo/python-list
Re: Algorithm for Labels like in Gmail
Thanks to you all. I'll start trying the buzhug solution, which seems more pythonic. But I feel like I gotta learn how to use databases... once I studied SQL a litle bit, but don't remember much. I'll play around with Python and then I show what I got. Bye Rodolfo P.S: Is there a way to do a clear screen on a Python program? I mean something like the cls command in MS-DOS -- http://mail.python.org/mailman/listinfo/python-list
Re: Intermittent Failure on Serial Port
H J van Rooyen wrote: Serge Orloff wrote: | H J van Rooyen wrote: | Traceback (most recent call last): |File portofile.py, line 232, in ? | ret_val = main_routine(port, pollstruct, pfifo) |File portofile.py, line 108, in main_routine | send_nak(port, timeout) # so bad luck - comms error |File /home/hvr/Polling/lib/readerpoll.py, line 125, in send_nak | port.flush() | IOError: [Errno 29] Illegal seek | close failed: [Errno 29] Illegal seek | | | | Where can I find out what the Errno 29 really means? | Is this Python, the OS or maybe hardware? | | It is from kernel: grep -w 29 `locate errno` | /usr/include/asm-generic/errno-base.h: #define ESPIPE 29 | /* Illegal seek */ | | man lseek: | | ERRORS: | ESPIPE fildes is associated with a pipe, socket, or FIFO. | | RESTRICTIONS: | Linux specific restrictions: using lseek on a tty device | returns ESPIPE. Thanks for the info - so the Kernel sometimes bombs me out - does anybody know why the python flush sometimes calls lseek? I thought it was your own flush method. If it is file.flush method that makes the issue more complicated, since stdlib file.flush doesn't call lseek method. I suggest you run your program using strace to log system calls, without such log it's pretty hard to say what's going on. The most interesting part is the end, but make sure you have enough space for the whole log, it's going to be big. -- http://mail.python.org/mailman/listinfo/python-list
Re: package search
boris ha scritto: COOL! You just saved me an awful lot of work. Thanks, Diego! Boris ;-) Bye -- http://mail.python.org/mailman/listinfo/python-list
Re: TKinter
I would try looking at Django or Turbogears. http://www.djangoproject.com/ http://www.turbogears.org/ Also have a look at: How to write a browser-based desktop app using CherryPy 2.0: http://www.cherrypy.org/wiki/SingleClickAndRun How to write a a browser-based desktop app using CherryPy 2.1: http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/442481 -Chris On Sat, Jun 10, 2006 at 10:25:53AM -0700, V Sivakumar wrote: Dear Chris, It is really very kind of you. Actually, I planned to do as a web program with a in built webserver. In that a the GUI creation becomes very easy. Is Twisted (Python 2.4) a good option? I find no good tutorials for Python programming. Like handling HTTPRequest and HTTPResponse. Kind Regards V Sivakumar You cannot know the meaning of your life until you are connected to the power that created you - Shri Mataji Nirmala Devi. [1]www.tnsahaj.org. - Original Message From: Chris Lambacher [EMAIL PROTECTED] To: V Sivakumar [EMAIL PROTECTED] Cc: python-list@python.org Sent: Saturday, 10 June, 2006 9:26:38 AM Subject: Re: TKinter GTK+ + Glade [2]http://pygtk.org/ WxPython has several GUI editors [3]http://wxpython.org PyQt has the ability to generate code from the Qt GUI designer [4]http://www.riverbankcomputing.co.uk/pyqt/ I personally have used GTK+ and Glade with great success. I found WxPython to be lacking in polish. I have not worked with PyQt. Pretty much all of the above work models are not embedded into an IDE. There is a GUI editor, and then you use your regular editor to write code. This is actually a pretty good model because from my experience, as your application becomes bigger and more complicated, you want less GUI generated UI and more had written UI code. -Chris On Thu, Jun 08, 2006 at 10:29:44PM -, V Sivakumar wrote: Dear Group!, I am new to Python. I have Eclipse with Python support , is there better IDE for free and with good support for GUI development. I need to develop a nice looking desktop application. Like we could do in VB, C# and Java Swing. Is there a drag drop support GUI toolkit for Python like the above languages do? Thanks Siva -- [5]http://mail.python.org/mailman/listinfo/python-list References Visible links 1. http://www.tnsahaj.org/ 2. http://pygtk.org/ 3. http://wxpython.org/ 4. http://www.riverbankcomputing.co.uk/pyqt/ 5. http://mail.python.org/mailman/listinfo/python-list -- http://mail.python.org/mailman/listinfo/python-list
Re: Very newbie programming
TheSaint wrote: Maric Michaud wrote: Le Samedi 10 Juin 2006 17:44, TheSaint a écrit : begin using more explicit variable names. Frankly it's a very rooted way of programming, since C64 basic :-) If by 'rooted' you mean old enough, so is 'goto'... Except perhaps for iteration variables (for i in xrange(10)), always use names that mean something; you (and anyone else that might have to read your code) will thank yourself for doing so if you have to go back at this code a few months later. this will do exactly the same for icon_file in (open(dskt + e) for e in os.listdir(dskt) if '.desktop' in e) : for line in icon_file : if 'URL=/media' in line : icon = icon.name dvc = line[11:-1] break A simple question, how do I'll get out of all loops, once found the right result? You can set a boolean found flag to False, make it True in the if block, check it in the outer loop and break if it is True. For this case though I'd use the fileinput module to iterate over the lines of all files directly (http://docs.python.org/lib/module-fileinput.html): from fileinput import FileInput instram = FileInput([dskt+e for e in os.listdir(dskt) if 'desktop' in e]) for line in instream: if 'URL=/media' in line : icon = instream.filename() dvc = line[11:-1] break Btw, you can delete a file or directory with os.unlink and os.rmdir, respectively; no need for os.system. George -- http://mail.python.org/mailman/listinfo/python-list
Re: TypeError: unsubscriptable object
[EMAIL PROTECTED] schrieb: Can anybody tell me why am I getting this error message while trying to print a part of a string. Is there a better approach for this... Because you don't use a string? The error message is pretty clear: TypeError: unsubscriptable object So - what are Function[:10], Description[:10] ? You _assume_ they are strings, seems not to be the case. Diez -- http://mail.python.org/mailman/listinfo/python-list
import hook
Hi - Is it possible to override the import process so that if in my program I do import foo.bar Python will look for bar in a directory which isn't called foo? I want my module/program to be able to be run without being installed in site-packages, so by doing import foo.bar, it should start looking for bar in the current directory which could be called foo-0.43. I've tried overriding __import__, chopping out foo. from package names, but that tends to break. I've also tried overriding imp.find_module() but Python never appears to use my version. Any ideas? Thanks Jeremy -- Jeremy Sanders http://www.jeremysanders.net/ -- http://mail.python.org/mailman/listinfo/python-list
Re: 10GB XML Blows out Memory, Suggestions?
K.S.Sreeram wrote: Fredrik Lundh wrote: both ElementTree and cElementTree support sax-style event generation (through XMLTreeBuilder/XMLParser) and incremental parsing (through iterparse). the cElementTree versions of these are even faster than pyexpat. the iterparse interface is described here: http://effbot.org/zone/element-iterparse.htm Thats cool! Thanks for the info! For a multi-gigabyte file, I would still recommend C/C++, because the processing code which sits on top of the XML library needs to be Python, and that could turn out to be a significant overhead in such extreme cases. Of course, the exact strategy to follow would depend on the specifics of the case, and all this speculation may not really apply! :) Honestly, i think that legitimate use-cases for multi-gigabyte XML are very rare. Many people abuse XML as some sort of DBMS replacement. This abuse is part of the reason why so many developers are hostile to XML. XML is best for documents, and documents can get to the multi-gigabyte range, but rarely do. Usually, when they do, there is a logical way to decompose them, process them, and re-compose them, whereas with XML used as a DBMS replacement, relations and datatyping complicate such natural divide-and-conquer techniques. I always say that if you're dealing with gigabyte XML, it's well worth considering whether you're not using a hammer to screw in a bolt. If monster XML is inevitable, then I extend's Fredrik earlier mention of Amara to say that Pushdom allows you to pre-declare the chunks of XML you're interested in, and then it processes the XML in streaming mode, only instantiating the chunks of interest one at a time. This allows for handling of huge files with a very simple programming idiom. http://uche.ogbuji.net/tech/4suite/amara/ -- Uche Ogbuji Fourthought, Inc. http://uche.ogbuji.nethttp://fourthought.com http://copia.ogbuji.net http://4Suite.org Articles: http://uche.ogbuji.net/tech/publications/ -- http://mail.python.org/mailman/listinfo/python-list
Re: Xah Lee network abuse
Erik Max Francis [EMAIL PROTECTED] wrote in message news:[EMAIL PROTECTED] Mike Schilling wrote: If I were to write, say, that Tony Blair's tax policy will lead to higher deficits, I could be convicted of libel? Even if that's true, it's not a priori provable. I think what he was getting at is that, unlike many jurisdictions, writing something factually true is _not_ in and of itself a defense against a libel suit in the UK. As for the reverse side of the issue, in jurisdictions where it _is_ a defense, if one were to accuse him of being a pedophile but couldn't prove it, that would certainly be an actionable offense. In the U.S, for instance, you wouldn't have to prove it. It would be sufficent to demonstrate that there's enough evidence supporting it that you weren't reckless in writing it. -- http://mail.python.org/mailman/listinfo/python-list
Re: Very newbie programming
Maric Michaud wrote: Le Samedi 10 Juin 2006 17:44, TheSaint a écrit : devices = [ e for e in devices if e.split('/')[-1] in partitions ] This is _not_ the expected result :) is missing a not as : devices = [ e for e in devices if e.split('/')[-1] *not* in partitions ] if len(c) != 1: sys.exit(0) # if none or more than one match exit cmnd = str(c)[2:-2] err = os.system('umount ' + cmnd) why ? os.system('umount %s' % devices[0]) for line in icon_file : if 'URL=/media' in line : icon = icon.name dvc = line[11:-1] break The question is correct, I should go a step further. But as it will unmount multiple (ghost) partitions it should also remove the icons from the desktop as well. So I'm bit confused how to remove *each* icon, unless do it into the for loop. I'd like to get the search as fast as possible and solve the appropriate icon with the right device, after all :) Suppose to have the pendrive and the Compact Flash, which both are mounted in /media, what will be removed syncronized with its mount? I didn't get this problem so deep as long as I just considered to use one device at time. F -- http://mail.python.org/mailman/listinfo/python-list
Re: import hook
Jeremy Sanders wrote: Hi - Is it possible to override the import process so that if in my program I do (...) Any ideas? Why not handle the foo.bar/version string separately and just append the resulting path to sys.path? -- http://mail.python.org/mailman/listinfo/python-list
Re: import hook
Jeremy Sanders [EMAIL PROTECTED] wrote: Hi - Is it possible to override the import process so that if in my program I do import foo.bar Python will look for bar in a directory which isn't called foo? I want my module/program to be able to be run without being installed in site-packages, so by doing import foo.bar, it should start looking for bar in the current directory which could be called foo-0.43. I've tried overriding __import__, chopping out foo. from package names, but that tends to break. I've also tried overriding imp.find_module() but Python never appears to use my version. Any ideas? Yes, PEP 302 (which despite being marked as draft has in fact been already mostly implemented, since it's used by the zipimport mechanism) allows you to perform such feats. Study it at http://www.python.org/dev/peps/pep-0302/ ... Alex -- http://mail.python.org/mailman/listinfo/python-list
ANN: PyQt v4.0 Released - Python Bindings for Qt v4
Riverbank Computing is pleased to announce the release of PyQt v4.0 available from http://www.riverbankcomputing.co.uk/pyqt/. The main change from v4.0beta1 is the inclusion of comprehensive HTML documentation based on the Qt documentation. PyQt is a comprehensive set of Qt bindings for the Python programming language and supports the same platforms as Qt (Windows, Linux and MacOS/X). Like Qt, PyQt is available under the GPL and a commercial license. PyQt v4 supports Qt v4 (http://www.trolltech.com/products/qt/index.html). PyQt v3 is still available to support earlier versions of Qt. PyQt v4 is implemented as a set of 8 extension modules containing approximately 400 classes and 6,000 functions and methods. QtCore The non-GUI infrastructure including event loops, threads, i18n, Unicode, signals and slots, user and application settings. QtGui A rich collection of GUI widgets. QtNetwork A set of classes to support TCP and UDP socket programming and higher level protocols (eg. HTTP). QtOpenGL A set of classes that allows PyOpenGL to render onto Qt widgets. QtSql A set of classes that implement SQL data models and interfaces to industry standard databases. Includes an implementation of SQLite. QtSvg A set of classes to render SVG files onto Qt widgets. QtXML A set of classes that implement DOM and SAX parsers. QtAssistant A set of classes that enables the Qt Assistant online help browser to be integrated with an application. A Windows installer is provided for the GPL version of PyQt to be used with the GPL version of Qt v4 (http://www.trolltech.com/download/qt/windows.html). It enabes a complete PyQt environment to be installed on Windows without the need for a C++ compiler. PyQt includes the pyuic utility which generates Python code to implement user interfaces created with Qt Designer in the same way that the uic utility generates C++ code. It is also able to load Designer XML files dynamically. -- http://mail.python.org/mailman/listinfo/python-list
Re: Very newbie programming
George Sakkis wrote: If by 'rooted' you mean old enough, so is 'goto'... I was meaning a sort of (very) old style of programming. In fact I wrote some few hundreds lines on my own, but probably memory was much better the :) will thank yourself for doing so if you have to go back at this code a few months later. I have to admit that's purely true :) You can set a boolean found flag to False, make it True in the if Thank you to point it out, I forgotten such solution. BTW I was on the way of an try/exept. But I should go back study the corect use :) from fileinput import FileInput I'll read the manual (as you pointed hereby) and I think I can read the entire directory file by file. Btw, you can delete a file or directory with os.unlink and os.rmdir, respectively; no need for os.system. I still on learning, you know? :) Reading is the way to solve some problem, and your suggestions (you all) are very precious. F -- http://mail.python.org/mailman/listinfo/python-list
Re: [ANN] Cerealizer 0.4 -- a secure Pickle-like module
In article [EMAIL PROTECTED], Jiba python-list@python.org wrote: Cerealizer is now available under the Python license (and was previously GPL'ed). Nothing except for Python itself should be released under the Python license. See http://wiki.python.org/moin/PythonSoftwareFoundationLicenseFaq -- Aahz ([EMAIL PROTECTED]) * http://www.pythoncraft.com/ I saw `cout' being shifted Hello world times to the left and stopped right there. --Steve Gonedes -- http://mail.python.org/mailman/listinfo/python-list
direct initialization of class attributes vs. declarations w/in __init__
What's the difference between initializing class variables within the class definition directly versus initializing them within the class's __init__ method? Is there a reason, perhaps in certain situations, to choose one over the other? Thank you. -- http://mail.python.org/mailman/listinfo/python-list
Re: direct initialization of class attributes vs. declarations w/in __init__
[EMAIL PROTECTED] schrieb: What's the difference between initializing class variables within the class definition directly versus initializing them within the class's __init__ method? Is there a reason, perhaps in certain situations, to choose one over the other? You are confusing class variables with instance variables. The former are what you can initialize inside the class-statement. However, they are shared amongst _all_ instances. Consider this little example: class Foo(object): FOO = 1 BAR = [] def __init__(self, FOO): self.FOO = FOO self.BAR.append(FOO) def __repr__(self): return FOO: %r\nBAR: %r\n % (self.FOO, self.BAR) f1 = Foo(1) print f1 f2 = Foo(2) print f2 print f1 -- meskal:~/Projects/CameraCalibrator deets$ python2.4 /tmp/test.py FOO: 1 BAR: [1] FOO: 2 BAR: [1, 2] FOO: 1 BAR: [1, 2] - As you can see, the list BAR is shared. And you can also see that _assigning_ to something like this: self.FOO will create an instance-variable. Even if a variable of the same name existed on the class before! Which is precisely the difference between using variable initialization in __init__ and inside the class-statement. BTW, self.__class__.FOO = value will set class-variables inside a method. Just if you wondered. Diez -- http://mail.python.org/mailman/listinfo/python-list
ANN: Dao 1.0.0-alpha is released
Hello, It is a pleasure to announce in this mailing list the newly released Dao. This is the first release after the Dao interpreter being re-designed and re-implemented as a virtual register machine since the beginning of this year. There have been many great improvements on both the language and the efficiency of the virtual machine. 10-20 times speedup has been observed. I am sure you will be surprised when you try it and compare it with other scripting languages. Some important language features have been added, such as switch-case control, for-in-do control, setting function parameter types and default values, passing parameters by name, and function overloading by parameter types; OOP in Dao is also greatly improved; reflection methods are newly supported. In one word, the release represents a milestone in the development of Dao. Two modules are also released along with the virtual machine: DaoMySQL and DaoPyhon. DaoPython is particularly interesting, because it allows Python modules to be loaded by Dao, then Python variables, functions and classes can be used conviniently in Dao scripts. However, since the virtual machine is almost written from scratch only since the beginning of this year, it could not be very robust (it should be more robust than any previous releases), that is why it is release as an alpha release. A formal release will be made once the virtual machine is well tested (please join us, if you want this process to be faster). For more detail about this release: please visit http://www.xdao.org, and http://xdao.org/dokuwiki/. Your suggestions and comments are extremely welcome! Limin FU -- http://mail.python.org/mailman/listinfo/python-list
Re: direct initialization of class attributes vs. declarations w/in __init__
Ah, you've brought me much clarity Diez, thank you. That would explain some bugs I've been having... Diez B. Roggisch wrote: [EMAIL PROTECTED] schrieb: What's the difference between initializing class variables within the class definition directly versus initializing them within the class's __init__ method? Is there a reason, perhaps in certain situations, to choose one over the other? You are confusing class variables with instance variables. The former are what you can initialize inside the class-statement. However, they are shared amongst _all_ instances. Consider this little example: class Foo(object): FOO = 1 BAR = [] def __init__(self, FOO): self.FOO = FOO self.BAR.append(FOO) def __repr__(self): return FOO: %r\nBAR: %r\n % (self.FOO, self.BAR) f1 = Foo(1) print f1 f2 = Foo(2) print f2 print f1 -- meskal:~/Projects/CameraCalibrator deets$ python2.4 /tmp/test.py FOO: 1 BAR: [1] FOO: 2 BAR: [1, 2] FOO: 1 BAR: [1, 2] - As you can see, the list BAR is shared. And you can also see that _assigning_ to something like this: self.FOO will create an instance-variable. Even if a variable of the same name existed on the class before! Which is precisely the difference between using variable initialization in __init__ and inside the class-statement. BTW, self.__class__.FOO = value will set class-variables inside a method. Just if you wondered. Diez -- http://mail.python.org/mailman/listinfo/python-list
Re: import hook
Alex Martelli wrote: Jeremy Sanders [EMAIL PROTECTED] wrote: Hi - Is it possible to override the import process so that if in my program I do import foo.bar Python will look for bar in a directory which isn't called foo? I want my module/program to be able to be run without being installed in site-packages, so by doing import foo.bar, it should start looking for bar in the current directory which could be called foo-0.43. I've tried overriding __import__, chopping out foo. from package names, but that tends to break. I've also tried overriding imp.find_module() but Python never appears to use my version. Any ideas? Yes, PEP 302 (which despite being marked as draft has in fact been already mostly implemented, since it's used by the zipimport mechanism) allows you to perform such feats. Study it at http://www.python.org/dev/peps/pep-0302/ ... There are also other ways. You could extend __path__ of foo, and the pkgutil module might also be useful. Thomas -- http://mail.python.org/mailman/listinfo/python-list
Re: direct initialization of class attributes vs. declarations w/in __init__
Wait a minute! It doesn't explain my bugs. I've got class variables acting like instance variables. What's weirder is that this behavior occurs on my computer (in both of my installed WinXP copies) but not on my laptop (WinXP Pro). See the following test: class Boo: jerk = yes def killjerk(self): self.jerk = self.jerk + no print self.jerk print self.__class__.jerk bing = Boo() bing.killjerk() outputs: yesno yes At first, I thought that self.jerk was resolving to the class attribute instead of creating a new variable (w/ a differing scope). But we can see that there are actually two variables because a direct reference to self.__class__.jerk returns yes, not yesno (what we would get if self.jerk pointed to the same data/object as self.__class__.jerk). Yet, it's treating self.jerk as a combination of the two (it always add the class attribute to the instance attribute). Is this normal behavior?? It doesn't work this way on my laptop... Perhaps you can see why I'd be confused! Thanks. [EMAIL PROTECTED] wrote: Ah, you've brought me much clarity Diez, thank you. That would explain some bugs I've been having... Diez B. Roggisch wrote: [EMAIL PROTECTED] schrieb: What's the difference between initializing class variables within the class definition directly versus initializing them within the class's __init__ method? Is there a reason, perhaps in certain situations, to choose one over the other? You are confusing class variables with instance variables. The former are what you can initialize inside the class-statement. However, they are shared amongst _all_ instances. Consider this little example: class Foo(object): FOO = 1 BAR = [] def __init__(self, FOO): self.FOO = FOO self.BAR.append(FOO) def __repr__(self): return FOO: %r\nBAR: %r\n % (self.FOO, self.BAR) f1 = Foo(1) print f1 f2 = Foo(2) print f2 print f1 -- meskal:~/Projects/CameraCalibrator deets$ python2.4 /tmp/test.py FOO: 1 BAR: [1] FOO: 2 BAR: [1, 2] FOO: 1 BAR: [1, 2] - As you can see, the list BAR is shared. And you can also see that _assigning_ to something like this: self.FOO will create an instance-variable. Even if a variable of the same name existed on the class before! Which is precisely the difference between using variable initialization in __init__ and inside the class-statement. BTW, self.__class__.FOO = value will set class-variables inside a method. Just if you wondered. Diez -- http://mail.python.org/mailman/listinfo/python-list
math.pow(x,y)
import math math.pow(34564323, 456356) will give math range error. how can i force python to process huge integers without math range error? Any modules i can use possibly? -- http://mail.python.org/mailman/listinfo/python-list
Re: math.pow(x,y)
Em Dom, 2006-06-11 às 11:19 -0700, fl1p-fl0p escreveu: import math math.pow(34564323, 456356) will give math range error. how can i force python to process huge integers without math range error? Any modules i can use possibly? 34564323**456356 ? -- Felipe. -- http://mail.python.org/mailman/listinfo/python-list
Re: math.pow(x,y)
fl1p-fl0p wrote: import math math.pow(34564323, 456356) will give math range error. how can i force python to process huge integers without math range error? Any modules i can use possibly? You have to use operator **, i.e. 34564323**456356 -- http://mail.python.org/mailman/listinfo/python-list
Re: direct initialization of class attributes vs. declarations w/in __init__
[EMAIL PROTECTED] wrote: At first, I thought that self.jerk was resolving to the class attribute instead of creating a new variable (w/ a differing scope). When you access an instance attribute, Python first looks in the instance object, and then in the class object. When you assign to an instance attribute, it's *always* assigned to the instance object, whether there's a class attribute with the same name or not. If there's already a class attribute with the same name, that attribute will be shadowed (but can still be accessed via the class object, of course). It doesn't work this way on my laptop... Python's always worked that way, so I find that a bit hard to believe. /F -- http://mail.python.org/mailman/listinfo/python-list
Re: math.pow(x,y)
Wojciech Muła wrote: fl1p-fl0p wrote: import math math.pow(34564323, 456356) will give math range error. how can i force python to process huge integers without math range error? Any modules i can use possibly? You have to use operator **, i.e. 34564323**456356 That's not very practical. That computation will produce a value with more than 3.4 million digits. (That is, log10(34564323)*456356 = 3440298.) Python will attempt this, but I was not patient enough to see if it could calculate an answer today (or even this week). I doubt that you really *want* all 3.4 million digits. So what is it you really want? A scientific or engineering result as a floating point number accurate to some reasonable number of digits? That integer value modulo some other integer (as used in various cryptology schemes)? Gary Herron -- http://mail.python.org/mailman/listinfo/python-list
Re: math.pow(x,y)
Felipe Almeida Lessa wrote: Em Dom, 2006-06-11 às 11:19 -0700, fl1p-fl0p escreveu: import math math.pow(34564323, 456356) will give math range error. how can i force python to process huge integers without math range error? Any modules i can use possibly? 34564323**456356 ? I just tried this and it is taking an extremely long time even on a fast machine with 4 Gb of RAM. Killed it after a couple of minutes. This sort of calculation can be done with extended precision floating point (as long as you don't need an exact answer). For example (using defaults on a 64-bit machine), from clnum import mpf mpf(34564323)**456356 mpf('1.39518106833639480699862472257296396643e3440298',36) compute time is about 160 microseconds. For more information see http://calcrpnpy.sourceforge.net/clnumManual.html For calculations involving large powers, you may still be better off using logarithms. -- http://mail.python.org/mailman/listinfo/python-list
Re: math.pow(x,y)
Raymond L. Buvel wrote: I just tried this and it is taking an extremely long time even on a fast machine with 4 Gb of RAM. Killed it after a couple of minutes. Thats odd. 34564323**456356 completed on my laptop in 28 seconds. [Python 2.4.3, Celeron-M 1.3GHz, WinXP], and max memory consumption during the whole process was about 11megs. What python version are you using? Regards Sreeram signature.asc Description: OpenPGP digital signature -- http://mail.python.org/mailman/listinfo/python-list
wxPython: Keyboard events and TreeCtrl
Hello, everyone. I am a writing an application that I want to make a stripped-down framework of Leo for Cornell note-taking. I have one TreeCtrl, a menu, and a status bar. There are two classes currently - the Application class and the Frame class. The Frame class contains all of the event handling, such as OnAbout and OnExit. I am trying to add keyboard shortcuts. When someone hits Ctrl-I, I want a new node to be added at the bottom level - if you've ever used Leo, you know what I am talking about. Like in Leo, when the new node is created, I want the title to be highlighted so that you can type in the title of the node. For some reason, the way I am doing it is not working. It's probably because OnKeyDown is not attached to anything, but I am not sure. Anyway, here is what my OnKeyDown method looks like: def OnKeyDown(self, e): key = e.KeyCode() controlDown = e.ControlDown() altDown = e.AltDown() elif (controlDown and key == WXK_I): # I want the Node Title to be editable upon its creation self.tree.AppendItem(root, 'Node Title') Am I supposed to connect the method to the Frame somehow? Or does it automatically get called when the user hits Ctrl-I, regardless of the fact that no other methods call OnKeyDown? Thank you for the assistance. -- http://mail.python.org/mailman/listinfo/python-list
Re: math.pow(x,y)
Raymond L. Buvel wrote: I just tried this and it is taking an extremely long time even on a fast machine with 4 Gb of RAM. Killed it after a couple of minutes. You probably tried printing the value. a = 34564323**456356 (takes just 28 seconds) whereas b = str(a) takes forever! Regards Sreeram signature.asc Description: OpenPGP digital signature -- http://mail.python.org/mailman/listinfo/python-list
Re: math.pow(x,y)
[Wojciech Muła] You have to use operator **, i.e. 34564323**456356 Or the builtin pow() instead of math.pow(). [Gary Herron] That's not very practical. That computation will produce a value with more than 3.4 million digits. Yes. (That is, log10(34564323)*456356 = 3440298.) Python will attempt this, but I was not patient enough to see if it could calculate an answer today (or even this week). On my box it took less than 30 seconds to do x = 34564323**456356 If you try to _display_ that as a decimal string, it will take enormously longer. Python uses a power-of-2 base internally, and conversion to decimal takes time quadratic in the number of digits. Doing y = hex(x) instead is very fast (small fraction of a second). I doubt that you really *want* all 3.4 million digits. So what is it you really want? A scientific or engineering result as a floating point number accurate to some reasonable number of digits? That integer value modulo some other integer (as used in various cryptology schemes)? For example, if you only want the last 6 digits, pow(34564323, 456356, 100) returns 986961 in an eyeblink. -- http://mail.python.org/mailman/listinfo/python-list
how to get the length of a number
Can anyone tell me how to get the length of a number. I know len(string) will get the length of a string, but it doesn't like len(int). I seem to remember something like %s string. I tried to set a variable = to %s int, but that doesn't work. Is there a function I've forgotten about to convert an integer to a string? Regards Stan -- http://mail.python.org/mailman/listinfo/python-list
Re: Get my airlines boarding pass
I posted it on activestate already ... sorry. I would like for the geniuses here to use it and improve upon it so here is the activestate post URL: http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/496790 Enjoy. Ken BartlebyScrivener wrote: SW air script Post it here, first, and these geniuses will improve it; then post it on ActiveState. Besides, if you post it here first, I can use it. That would be handy! Thanks, rpd -- http://mail.python.org/mailman/listinfo/python-list
Re: how to get the length of a number
Stan Cook wrote: Is there a function I've forgotten about to convert an integer to a string? str(value) /F -- http://mail.python.org/mailman/listinfo/python-list
Re: how to get the length of a number
Stan Cook wrote: Can anyone tell me how to get the length of a number. I know len(string) will get the length of a string, but it doesn't like len(int). I seem to remember something like %s string. I tried to set a variable = to %s int, but that doesn't work. Is there a function I've forgotten about to convert an integer to a string? Regards Stan Use str(int). Then use len(). For example, len(str(12345)) will give you 5. -- http://mail.python.org/mailman/listinfo/python-list
Re: how to get the length of a number
Em Dom, 2006-06-11 às 20:10 +, Stan Cook escreveu: Can anyone tell me how to get the length of a number. I know len(string) will get the length of a string, but it doesn't like len(int). I seem to remember something like %s string. I tried to set a variable = to %s int, but that doesn't work. Is there a function I've forgotten about to convert an integer to a string? To convert an integer i to a string: str(i) or %s % i To see how many decimal digits it has: import math math.ceil(math.log(i, 10)) -- Felipe. -- http://mail.python.org/mailman/listinfo/python-list
Re: how to get the length of a number
Saketh wrote: Stan Cook wrote: Can anyone tell me how to get the length of a number. I know len(string) will get the length of a string, but it doesn't like len(int). I seem to remember something like %s string. I tried to set a variable = to %s int, but that doesn't work. Is there a function I've forgotten about to convert an integer to a string? Regards Stan Use str(int). Then use len(). For example, len(str(12345)) will give you 5. A! How could I have forgotten that. Boy is my face red :) Thanks I'll try to make my next question a more intelligent one. Regards, Stan -- http://mail.python.org/mailman/listinfo/python-list
Re: how to get the length of a number
Em Dom, 2006-06-11 às 13:17 -0700, Saketh escreveu: Stan Cook wrote: Can anyone tell me how to get the length of a number. I know len(string) will get the length of a string, but it doesn't like len(int). I seem to remember something like %s string. I tried to set a variable = to %s int, but that doesn't work. Is there a function I've forgotten about to convert an integer to a string? Regards Stan Use str(int). Then use len(). For example, len(str(12345)) will give you 5. $ python2.4 -mtimeit -s 'x=12345' 'len(str(x))' 100 loops, best of 3: 1.33 usec per loop $ python2.4 -mtimeit -s 'x=12345;from math import ceil,log' 'ceil(log(x, 10))' 100 loops, best of 3: 1.54 usec per loop $ python2.4 -mtimeit -s 'x=12345**123' 'len(str(x))' 1000 loops, best of 3: 209 usec per loop $ python2.4 -mtimeit -s 'x=12345**123;from math import ceil,log' 'ceil(log(x, 10))' 100 loops, best of 3: 1.55 usec per loop $ python2.4 -mtimeit -s 'x=12345**1234' 'len(str(x))' 100 loops, best of 3: 19.2 msec per loop $ python2.4 -mtimeit -s 'x=12345**1234;from math import ceil,log' 'ceil(log(x, 10))' 100 loops, best of 3: 1.53 usec per loop -- Felipe. -- http://mail.python.org/mailman/listinfo/python-list
Re: Killing a thread
Fredrik Lundh wrote: [EMAIL PROTECTED] wrote: it cannot be done in a portable way, so that's not very likely. def __run(self): Hacked run function, which installs the trace. sys.settrace(self.globaltrace) self.__run_backup() self.run = self.__run_backup I'm not sure using a non-portable API to run the code under a custom debugger qualifies as a portable implementation, though... Everything used is a part of the standard library, which is portable, AFAICT. Could you say specifically what is non-portable? have you benchmarked this, btw? It has some overhead, but it should only be used in situations where one line will either return before the timeout or take far too long. E. g. an eval() statement with code generated from user input should return quickly for reasonable entries, but something like 9**9**9 will trigger the timeout. /F -- http://mail.python.org/mailman/listinfo/python-list
Re: how to get the length of a number
Em Dom, 2006-06-11 às 22:33 +0200, Sybren Stuvel escreveu: Felipe Almeida Lessa enlightened us with: To see how many decimal digits it has: import math math.ceil(math.log(i, 10)) That doesn't work properly. import math math.ceil(math.log(1, 10)) 4.0 math.ceil(math.log(10001, 10)) 5.0 But 1 certainly has as much digits as 10001. Hmmm, you're right. math.floor(math.log(x, 10)) + 1 -- Felipe. -- http://mail.python.org/mailman/listinfo/python-list
Re: how to get the length of a number
Stan Cook wrote: Can anyone tell me how to get the length of a number. I know len(string) will get the length of a string, but it doesn't like len(int). I seem to remember something like %s string. I tried to set a variable = to %s int, but that doesn't work. Is there a function I've forgotten about to convert an integer to a string? Regards Stan len('%s'%(1234567,)) gives 7 len('%s'%(1234**45,)) and len(str(1234**45)) give 140 Claudio -- http://mail.python.org/mailman/listinfo/python-list
Re: how to get the length of a number
Felipe Almeida Lessa wrote: Hmmm, you're right. math.floor(math.log(x, 10)) + 1 x = 0 /F -- http://mail.python.org/mailman/listinfo/python-list
Re: Most elegant way to generate 3-char sequence
Fredrik Lundh wrote: James Stroud wrote: See the actual question: How would you construct a generator to acheive this? if you don't think the context provided by the subject line and the sentence before the question is important, how come you're so sure what this refers to ? /F I'm getting the feeling that correct answers have nothing to do with correctness (i.e. working code) but on some vague notion of elegance. Please point me to the page where code elegance is precisely defined so that I may construct my answers appropriately. And yes, I am too lazy to google code elegance. James -- James Stroud UCLA-DOE Institute for Genomics and Proteomics Box 951570 Los Angeles, CA 90095 http://www.jamesstroud.com/ -- http://mail.python.org/mailman/listinfo/python-list
Re: learning python idioms
[EMAIL PROTECTED] wrote: After several years developing in Java, I've begun to switch to Python for several of my new projects as I have found the language quite interesting. I've read several tutorials and implemented a few sample programs and I've found that Python enables one to program in a variety of different styles (I'm not sure if this was the original intention or not). Thus, I find myself occaisionally slipping into the Java mindset when writing Python code and I wonder if this is not optimal. Python is not Java and there must be more correct ways of doing this in Python that simply writing Java code with different syntax. Is there a good reference on the internet about Python-specific idioms and just good Python style in general. Which language constructs are efficient and which aren't? Thanks in advance, Ben As an experiment, I googled 'python idioms' and got a few good hits right at the top. I probably should have done this a long time ago. James -- James Stroud UCLA-DOE Institute for Genomics and Proteomics Box 951570 Los Angeles, CA 90095 http://www.jamesstroud.com/ -- http://mail.python.org/mailman/listinfo/python-list
Re: direct initialization of class attributes vs. declarations w/in __init__
Fredrik Lundh wrote: [EMAIL PROTECTED] wrote: At first, I thought that self.jerk was resolving to the class attribute instead of creating a new variable (w/ a differing scope). When you access an instance attribute, Python first looks in the instance object, and then in the class object. When you assign to an instance attribute, it's *always* assigned to the instance object, whether there's a class attribute with the same name or not. If there's already a class attribute with the same name, that attribute will be shadowed (but can still be accessed via the class object, of course). It doesn't work this way on my laptop... Python's always worked that way, so I find that a bit hard to believe. No need to be obnoxious. I do appreciate your efforts to help, but you must admit, your last statement is a bit snide and certainly not useful. I'm telling you that the code runs differently on my laptop. Why this is, I don't know any more /or/ less than you do apparently. Now, it is of course possible that I'm interpreting the results incorrectly, but that doesn't change the fact that I'm getting different results per computer with identical code. -- http://mail.python.org/mailman/listinfo/python-list
Re: math.pow(x,y)
K.S.Sreeram wrote: Raymond L. Buvel wrote: I just tried this and it is taking an extremely long time even on a fast machine with 4 Gb of RAM. Killed it after a couple of minutes. Thats odd. 34564323**456356 completed on my laptop in 28 seconds. [Python 2.4.3, Celeron-M 1.3GHz, WinXP], and max memory consumption during the whole process was about 11megs. What python version are you using? Regards Sreeram Sorry, I tripped over the display problem that Tim Peters has repeatedly explained on this news group (decimal algorithm is quadratic in the number of digits) :-( On a 64-bit 2.2 GHz Opteron running Debian stable, Python 2.3 took 26 seconds and Python 2.4 took 11 seconds. -- http://mail.python.org/mailman/listinfo/python-list
Re: Most elegant way to generate 3-char sequence
I have found that the more elegant the code is, the harder it is for me to understand what it is trying to accomplish. It is my opinion that Keep It Simple wins over elegance. When I have had the urge to get elegant, I make sure I comment the elegance so my less elegant co-workers can figure out what I was trying to accomplish. Sam Schulenburg James Stroud wrote: Fredrik Lundh wrote: James Stroud wrote: See the actual question: How would you construct a generator to acheive this? if you don't think the context provided by the subject line and the sentence before the question is important, how come you're so sure what this refers to ? /F I'm getting the feeling that correct answers have nothing to do with correctness (i.e. working code) but on some vague notion of elegance. Please point me to the page where code elegance is precisely defined so that I may construct my answers appropriately. And yes, I am too lazy to google code elegance. James -- James Stroud UCLA-DOE Institute for Genomics and Proteomics Box 951570 Los Angeles, CA 90095 http://www.jamesstroud.com/ -- http://mail.python.org/mailman/listinfo/python-list
Re: direct initialization of class attributes vs. declarations w/in __init__
Thank you Dennis, this makes the behavior so much clearer to me. I see now that when self.jerk = self.jerk + 1 is executed that even though the names are identical, at this point I'm referring to two different values (one which is being created in part from the other). As for my laptop, I'm not really sure what's up there. I can change the class variable self.jerk all I want but it has no influence over the instance variable. Here's the code: class Boo: jerk = 10 def killjerk(self): self.jerk += 1 print self.jerk print self.__class__.jerk bing = Boo() bing.killjerk() On my desktop, I get: 11 10 On my laptop, I get: 1 10 Now, if I remove the class variable, I get an AttributeError, as you'd expect. This happens on both the desktop and laptop. However, on the laptop it seems not to care what value I give the class variable jerk, it only requires that it exist. Any clue what's behind this behavior? I'm running the same python version on both computers (the ActiveState distro). Thanks for all the help... Dennis Lee Bieber wrote: On 11 Jun 2006 10:35:14 -0700, [EMAIL PROTECTED] declaimed the following in comp.lang.python: Wait a minute! It doesn't explain my bugs. I've got class variables acting like instance variables. What's weirder is that this behavior occurs on my computer (in both of my installed WinXP copies) but not on my laptop (WinXP Pro). Don't know about the laptop but... See the following test: See the following modified version: -=-=-=-=-=-=- class Boo: jerk = yes def killjerk(self): print id(self.jerk), id(self.__class__.jerk) self.jerk = self.jerk + no print self.jerk, id(self.jerk) print self.__class__.jerk bing = Boo() bing.killjerk() bing.killjerk() -=-=-=-=-=-=-=- 10837696 10837696 yesno 18264128 yes 18264128 10837696 yesnono 18289600 yes The initial lookup for self.jerk does not find it in the instance, so it looks higher, into the class. THEN when you assign the result to self.jerk you create an instance specific name entry, which is bound to a string at a different location. The lookup on the left side does not go outside of the instance. Notice how the second bing.killjerk() results in self.jerk being bound to a third address. -- WulfraedDennis Lee Bieber KD6MOG [EMAIL PROTECTED] [EMAIL PROTECTED] HTTP://wlfraed.home.netcom.com/ (Bestiaria Support Staff: [EMAIL PROTECTED]) HTTP://www.bestiaria.com/ -- http://mail.python.org/mailman/listinfo/python-list
Re: direct initialization of class attributes vs. declarations w/in __init__
[EMAIL PROTECTED] wrote: Any clue what's behind this behavior? a missing plus sign. /F -- http://mail.python.org/mailman/listinfo/python-list
Re: direct initialization of class attributes vs. declarations w/in __init__
Fredrik Lundh wrote: a missing plus sign. or a misplaced one... (=+ 1 is not the same thing as += 1) /F -- http://mail.python.org/mailman/listinfo/python-list
Re: direct initialization of class attributes vs. declarations w/in __init__
Fredrik Lundh wrote: [EMAIL PROTECTED] wrote: Any clue what's behind this behavior? a missing plus sign. /F Thanks for the guess but not possible given the following: class Boo: jerk = 10 def killjerk(self): counter = 3 while counter !=0: counter -= 1 self.jerk += 1 print self.jerk print self.__class__.jerk bing = Boo() bing.killjerk() Output from desktop comp.: 11 10 12 10 13 10 Output from laptop comp.: 1 10 2 10 3 10 ?? . . . -- http://mail.python.org/mailman/listinfo/python-list
Re: direct initialization of class attributes vs. declarations w/in __init__
No need to be obnoxious. I do appreciate your efforts to help, but you must admit, your last statement is a bit snide and certainly not useful. I'm telling you that the code runs differently on my laptop. It certainly doesn't. There is absolutely no imaginable way how this behavior could be different, even if the python versions would differ considerably. Apart from quantum-fluctuations. Or other SciFi voodoo. Why this is, I don't know any more /or/ less than you do apparently. Frederik (as one of the most profiled python developers out there) might not be the most amicable of posters, but he certainly is not wrong when it comes to the most basic parts of python's semantics. Now, it is of course possible that I'm interpreting the results incorrectly, but that doesn't change the fact that I'm getting different results per computer with identical code. It is NOT identical code, otherwise you won't see different results. It might be code from which you _believe_ it is identical, and the difference might be subtle to see. But if you'd store it in a file, execute on your laptop, use an usb-stick and then transfer it to whatever the other machine of yours is, it will yield the exact same results. Diez -- http://mail.python.org/mailman/listinfo/python-list
Re: direct initialization of class attributes vs. declarations w/in __init__
[EMAIL PROTECTED] wrote: Output from laptop comp.: 1 10 2 10 3 10 so how are you entering and running the code on your laptop ? what happens if you set the class attribute to 100 instead of 10 ? /F -- http://mail.python.org/mailman/listinfo/python-list
Re: Xah Lee network abuse
On Sun, 11 Jun 2006 06:05:22 GMT, Mike Schilling [EMAIL PROTECTED] wrote: Philippa Cowderoy [EMAIL PROTECTED] wrote in message news:[EMAIL PROTECTED] On Sun, 11 Jun 2006, Mike Schilling wrote: I'm not aware of any definition of libel that includes making statements that are not provably true. I believe UK law uses one that's close to it. If I were to write, say, that Tony Blair's tax policy will lead to higher deficits, I could be convicted of libel? Even if that's true, it's not a priori provable. DISCLAIMER - I AM NOT A LAWYER In the US, the defense against a libel claim is to prove the statement or accusation is true. In the US, libel involves damage to someone's reputation by means of deliberately false statements or accusations. Expert opinion is explicitly protected from libel claims unless it malicious. Non-expert opinion is generally judged on the intent of the author. Unprovable supposition is generally held to be non-libelous, however unprovable accusation is not allowed. Moreover, in the US, political figures are explicitly denied some (but not all) libel protections because it is expected that their actions will cause some measure of public dissent. I don't know UK defamation law but I suspect it is quite similar to US law. In your polite example, your opinion of Tony Blair's policy would be unprovable supposition at the time of the writing (as would Blair's own) and would therefore not be libelous. However, if your opinion took an accusatory tone saying, for example, that he was increasing the public deficit to line his pockets, then you had better be right. George -- for email reply remove / from address -- http://mail.python.org/mailman/listinfo/python-list
Re: Get my airlines boarding pass
KenAggie wrote: I posted it on activestate already ... sorry. I would like for the geniuses here to use it and improve upon it so here is the activestate post URL: http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/496790 Whoa. Check out BeautifulSoup -- you will never write HTMLParser-based screen scrapers again. :) -Jonathan -- http://mail.python.org/mailman/listinfo/python-list
Re: math.pow(x,y)
K.S.Sreeram wrote: Raymond L. Buvel wrote: I just tried this and it is taking an extremely long time even on a fast machine with 4 Gb of RAM. Killed it after a couple of minutes. You probably tried printing the value. a = 34564323**456356 (takes just 28 seconds) whereas b = str(a) takes forever! Regards Sreeram If you really want all 3,440,299 digits, use the DecInt module.. http://home.comcast.net/~casevh/ Using Python 2.4.3 on a 1.4Ghz Celeron, a=DecInt(34564323) ** 456356 takes 20 seconds. astr=str(a) takes just over 1 second. With DecInt and GMPY, the running times are 6.9 seconds and 0.4 seconds respectively. casevh -- http://mail.python.org/mailman/listinfo/python-list
@func call syntax
Hi, I am new to Python, here I'd like to have a question: I noticed a special way to call a function in a program: @function_name No argv is passed, even though the function_name asks for one. Any idea what this @something syntax is trying to achieve. I haven't been able to find any answer of on the google web and groups. TIA. -- http://mail.python.org/mailman/listinfo/python-list
Re: Xah Lee network abuse
Erik Max Francis wrote: Mallor wrote: I know I'm coming late to the barbeque. In passing, I ask: do you have an objective, impartial perspective on the subject of committing crimes? Because libel is a crime. No, it is a tort. Can I have whipped cream and strawberries on that tort? :Robert -- http://mail.python.org/mailman/listinfo/python-list
Re: @func call syntax
[EMAIL PROTECTED] wrote: Hi, I am new to Python, here I'd like to have a question: I noticed a special way to call a function in a program: @function_name No argv is passed, even though the function_name asks for one. Any idea what this @something syntax is trying to achieve. I haven't been able to find any answer of on the google web and groups. TIA. @function_name is called a decorator. http://www.python.org/dev/peps/pep-0318/ http://docs.python.org/whatsnew/node6.html casevh -- http://mail.python.org/mailman/listinfo/python-list
Z39.50 and tyrannioware website seems to be down
Title: Z39.50 and tyrannioware website seems to be down sorry to disturb you but from here : http://lists.indexdata.dk/pipermail/zoom/2005-October/000806.html if yes i cannot take this three files : asn1.py z3950_2001.py zdefs.py the website seems to be down : http://cvs.sourceforge.net/viewcvs.py/tyrannioware/ may i ask you if someone always have these three files and if someone can mail me them , then ? Regards Bussiere -- http://mail.python.org/mailman/listinfo/python-list
Re: @func call syntax
this is decorator, this is how it's may be implented def returns(t): ... def dec(f): ... def wrapped(*args, **kwargs): ... ret = f(*args, **kwargs) ... assert type(ret) is t ... return ret ... return wrapped ... return dec ... @returns(int) ... def f1(): ... return 1 ... @returns(float) ... def f2(): ... return 2.0 ... @returns(str) ... def f3(): ... return 1 ... f1() 1 f2() 2.0 f3() Traceback (most recent call last): File stdin, line 1, in ? File stdin, line 5, in wrapped AssertionError I can imagine that stuff like this may be extremely usefull when testing you program later one could parse and remove all such assertations easy and cut them all at once Regards, Daniel -- http://mail.python.org/mailman/listinfo/python-list
Re: Thread specific singleton
In article [EMAIL PROTECTED], Gabriele Farina [EMAIL PROTECTED] wrote: I'm tring to implement a Singleton object that should be specific for every thread who create it, not global. I tried a solution that seems to work, but I have a very poor knowledge of concurrent programming, so I'd like someone to help me find some problems in my implementation. Try using threading.local(), but you'll need 2.4 or later. -- Aahz ([EMAIL PROTECTED]) * http://www.pythoncraft.com/ I saw `cout' being shifted Hello world times to the left and stopped right there. --Steve Gonedes -- http://mail.python.org/mailman/listinfo/python-list
Re: ANN: PyQt v4.0 Released - Python Bindings for Qt v4
Phil Thompson wrote: Riverbank Computing is pleased to announce the release of PyQt v4.0 available from http://www.riverbankcomputing.co.uk/pyqt/. The main change from v4.0beta1 is the inclusion of comprehensive HTML documentation based on the Qt documentation. PyQt is a comprehensive set of Qt bindings for the Python programming language and supports the same platforms as Qt (Windows, Linux and MacOS/X). Like Qt, PyQt is available under the GPL and a commercial license. PyQt v4 supports Qt v4 (http://www.trolltech.com/products/qt/index.html). PyQt v3 is still available to support earlier versions of Qt. PyQt v4 is implemented as a set of 8 extension modules containing approximately 400 classes and 6,000 functions and methods. QtCore The non-GUI infrastructure including event loops, threads, i18n, Unicode, signals and slots, user and application settings. QtGui A rich collection of GUI widgets. QtNetwork A set of classes to support TCP and UDP socket programming and higher level protocols (eg. HTTP). QtOpenGL A set of classes that allows PyOpenGL to render onto Qt widgets. QtSql A set of classes that implement SQL data models and interfaces to industry standard databases. Includes an implementation of SQLite. QtSvg A set of classes to render SVG files onto Qt widgets. QtXML A set of classes that implement DOM and SAX parsers. QtAssistant A set of classes that enables the Qt Assistant online help browser to be integrated with an application. A Windows installer is provided for the GPL version of PyQt to be used with the GPL version of Qt v4 (http://www.trolltech.com/download/qt/windows.html). It enabes a complete PyQt environment to be installed on Windows without the need for a C++ compiler. PyQt includes the pyuic utility which generates Python code to implement user interfaces created with Qt Designer in the same way that the uic utility generates C++ code. It is also able to load Designer XML files dynamically. Where is the best place to learn how to use this library??? -- http://mail.python.org/mailman/listinfo/python-list
Screen Scraping for Modern Applications?
Hello, I'm very new to python and still familiarizing myself with the language, sorry if the post seems moronic or simple. For a side project I'm working on I need to be able to scrape a modern computer desktop. Is there any basic material already available to do this? I'd rather not need to write my own to interact with hardware. Thanks! -- http://mail.python.org/mailman/listinfo/python-list
Evaluating a Function After X Seconds: Python Equivalent to JavaScript's SetTimeout() Function
Hi all, Not exactly new to Python, just have not programmed a time dependent function using it before. I imagine that many of you may also program some JavaScript and may be familiar with JavaScript's SetTimeout( expression, after time interval in milliseconds) function. Does Python have an equivalent to this? A SetTimeout-like Python function would be ideal for my application. Best, Y-coci -- http://mail.python.org/mailman/listinfo/python-list
Re: direct initialization of class attributes vs. declarations w/in __init__
Oh wow, I wasn't expecting so much help. I really appreciate it. My problem, however, has been solved. I uninstalled my ActiveState Python distro on my laptop and installed the distro from python.org along with Stan's Python Editor. I ran the same code I'd run before and guess what? The behavior now matches that of my desktop! Why? *shrug* As for the code being identical, it certainly was as I emailed the .py file to myself (from the laptop) and downloaded it to my desktop where I then ran it just as I had done on the laptop, with PythonWin. Unless Google programmed Gmail to muck w/ people's python code Additionally, the bytes on the files match. Thus, I feel I can guarantee that the code is indeed identical. Here's my wild guess: for some reason a bug in PythonWin was causing my changes to the class attribute (i.e. jerk variable) not to be reflected in the actual code. This explanation, if you can call it one, still doesn't make sense to me however because I could make other changes to the code and it would indeed be reflected in execution. Add to the fact that PythonWin is essentially just a text editor, I don't see how/why it would selectively save code changes. It is true that I never restarted the PythonWin IDE after a change of the class attribute to something other than 0, and perhaps reinstalling python etc. was unnecessary. I'm only coming to this realization now. In any event, I am now problem free and quite pleased to be able to exchange .py files between computers and know they'll behave the same (rather, I'm assuming this henceforth). Furthermore, I'd like to thank everyone who tried to help, and that certainly includes Fredrik. Cheers, DigiO -- http://mail.python.org/mailman/listinfo/python-list