Sent from my BlackBerry® device from Digicel -----Original Message----- From: tutor-requ...@python.org
Date: Sun, 12 Apr 2009 02:51:01 To: <tutor@python.org> Subject: Tutor Digest, Vol 62, Issue 42 Send Tutor mailing list submissions to tutor@python.org To subscribe or unsubscribe via the World Wide Web, visit http://mail.python.org/mailman/listinfo/tutor or, via email, send a message with subject or body 'help' to tutor-requ...@python.org You can reach the person managing the list at tutor-ow...@python.org When replying, please edit your Subject line so it is more specific than "Re: Contents of Tutor digest..." Today's Topics: 1. Re: Yet another Python book (Dotan Cohen) 2. Re: Yet another Python book (pyt...@bdurham.com) 3. Re: Yet another Python book (vishwajeet singh) 4. Re: Problem with converting Python to EXE using py2exe (Dave Angel) 5. PHP as seen by a Python lover (OkaMthembo) 6. Optional groups in RE's (Moos Heintzen) 7. Re: Optional groups in RE's (Mark Tolonen) ---------------------------------------------------------------------- Message: 1 Date: Sat, 11 Apr 2009 18:57:10 +0300 From: Dotan Cohen <dotanco...@gmail.com> Subject: Re: [Tutor] Yet another Python book To: tutor@python.org Message-ID: <880dece00904110857sba47b01j4f449e1697209...@mail.gmail.com> Content-Type: text/plain; charset=UTF-8 While the content looks to provide a reasonable learning curve, there is no mention of the Python version used. One of the first examples shows the interpreter for Python 2.6. I really think that a book coming out today should cover Python 3.0, and from the look of things that can be done with very little effort. Other than that, I'd really like to see a chapter on PyQt. PyGTK is nice from what I understand (I've actually never used it) but PyQt with Qt 4 really is the cutting edge, and is very cross-platform compatible. -- Dotan Cohen http://what-is-what.com http://gibberish.co.il ------------------------------ Message: 2 Date: Sat, 11 Apr 2009 12:01:00 -0400 From: pyt...@bdurham.com Subject: Re: [Tutor] Yet another Python book To: tutor@python.org Message-ID: <1239465660.22178.1310049...@webmail.messagingengine.com> Content-Type: text/plain; charset="ISO-8859-1" Dave, Great stuff!!! Thanks for sharing your hard work with the community! Malcolm ------------------------------ Message: 3 Date: Sat, 11 Apr 2009 21:32:50 +0530 From: vishwajeet singh <dextrou...@gmail.com> Subject: Re: [Tutor] Yet another Python book To: pyt...@bdurham.com Cc: tutor@python.org Message-ID: <5487b3060904110902j70b25e09o4646fe4beeba0...@mail.gmail.com> Content-Type: text/plain; charset="iso-8859-1" awesome; I really like the Jython part :) Thanks for your efforts. On Sat, Apr 11, 2009 at 9:31 PM, <pyt...@bdurham.com> wrote: > Dave, > > Great stuff!!! Thanks for sharing your hard work with the community! > > Malcolm > _______________________________________________ > Tutor maillist - Tutor@python.org > http://mail.python.org/mailman/listinfo/tutor > -- Cheers, Vishwajeet http://www.singhvishwajeet.com -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://mail.python.org/pipermail/tutor/attachments/20090411/757d2433/attachment-0001.htm> ------------------------------ Message: 4 Date: Sat, 11 Apr 2009 15:07:38 -0400 From: Dave Angel <da...@ieee.org> Subject: Re: [Tutor] Problem with converting Python to EXE using py2exe To: tutor@python.org Message-ID: <49e0ea7a.7020...@ieee.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Alan Gould wrote: > <snip...> > Good idea, I forgot that in Python you can find the full path that way. > Too used to working in C/C++ where the file macro only gives the > filename... > In C++, you wouldn't want the full path to the source file, but the full path to the .EXE file. That can be gotten in Windows, by using GetModuleHandle(0), and some other function on that handle. Sorry I don't remember the name of the second function, but I haven't done any C++ work in a few years. It might have a name like GetModuleXXXXX(handle). Anyway, that's the technique I used in that environment. To me, if it's possible to avoid an install entirely, I'm in favor. Two other tricks I used in the C++/Win world; 1) Let the name of the exe, as well as the location, be significant. If you put most of the code in dll's, it doesn't cost much to have multiple copies of the .EXE, each one with a different behavior. That's especially useful when you make file associations or SendTo associations to those various executables. Windows launches the program with only the filename as an argument, but I can have one more parameter hidden in the filename. 2) You can append arbitrary data to the EXE, and it won't affect normal running. Windows only maps in the amount specified in the header. But you can fetch readonly data from the end of the file, and use it any way you like. To append, you can simply do COPY /B myprog.exe + extradata.bin I wish Python.exe was designed this way. We could package up small scripts by appending them to a renamed EXE, The user could treat that as a self-contained executable, ready to run. This wouldn't obviate the need for installing Python itself, but it could make integrating it into normal usage simpler. See EXEMAKER for an implementation of #1, though it doesn't work with some imports, and has the problem that a console gets created even if you're running a GUI python script. It's a good start, though. ------------------------------ Message: 5 Date: Sat, 11 Apr 2009 22:13:59 +0200 From: OkaMthembo <zebr...@gmail.com> Subject: [Tutor] PHP as seen by a Python lover To: Python <tutor@python.org> Message-ID: <c7c6f3bc0904111313p3982a0e4sd525e4fd5e434...@mail.gmail.com> Content-Type: text/plain; charset="utf-8" Hi All, I just tried setting up PHP on my machine,with Apache 2.2-something (Win. XP). I came back running. It's a SCHLEP. I love Python. Happy Easter to you all - and to those that do not celebrate it, have a great weekend! -- Lloyd Dube -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://mail.python.org/pipermail/tutor/attachments/20090411/6d6b2ed2/attachment-0001.htm> ------------------------------ Message: 6 Date: Sat, 11 Apr 2009 15:46:18 -0700 From: Moos Heintzen <iwasr...@gmail.com> Subject: [Tutor] Optional groups in RE's To: "tutor@python.org" <tutor@python.org> Message-ID: <7b13ba330904111546n21d90202i7572a75c55b02...@mail.gmail.com> Content-Type: text/plain; charset=ISO-8859-1 Hello Tutors! I was trying to make some groups optional in a regular expression, but I couldn't do it. For example, I have the string: >>> data = "<price>42</price> sdlfks d f<ship>60</ship> sdf sdf >>> <title>Title</title>" and the pattern: >>> pattern = "<price>(.*?)</price>.*?<ship>(.*?)</ship>.*?<title>(.*?)</title>" This works when all the groups are present. >>> re.search(pattern, data).groups() ('42', '60', 'Title') However, I don't know how to make an re to deal with possibly missing groups. For example, with: >>> data = "<price>42</price> sdlfks d f<ship>60</ship> sdf sdf" I tried >>> pattern = >>> "<price>(.*?)</price>.*?<ship>(.*?)</ship>.*?(?:<title>(.*?)</title>)?" >>> re.search(pattern, data).groups() ('42', '60', None) but it doesn't work when <title> _is_ present. >>> data = "<price>42</price> sdlfks d f<ship>60</ship> sdf sdf >>> <title>Title</title>" >>> re.search(pattern, data).groups() ('42', '60', None) I tried something like (?:pattern)+ and (?:pattern)* but I couldn't get what I wanted. (.*?)? doesn't seem to be a valid re either. I know (?:pattern) is a non-capturing group. I just read that | has very low precedence, so I used parenthesis liberally to "or" pattern and a null string. >>> pattern = >>> "<price>(.*?)</price>.*?<ship>(.*?)</ship>.*?(?:(?:<title>(.*?)</title>)|)" >>> re.search(pattern, data).groups() ('42', '60', None) (?:(?:pattern)|(?:.*)) didn't work either. I want to be able to have some groups as optional, so when that group isn't matched, it returns None. When it's match it should return what is matched. Is that possible with one re? I could probably do it with more than one re (and did it) but with one re the solution is much more elegant. (i.e. I could have named groups, then pass the resultant dictionary to a processing function) I also tried matching optional groups before, and curious about the solution. Moos ------------------------------ Message: 7 Date: Sat, 11 Apr 2009 17:50:44 -0700 From: "Mark Tolonen" <metolone+gm...@gmail.com> Subject: Re: [Tutor] Optional groups in RE's To: tutor@python.org Message-ID: <grrdt0$5o...@ger.gmane.org> "Moos Heintzen" <iwasr...@gmail.com> wrote in message news:7b13ba330904111546n21d90202i7572a75c55b02...@mail.gmail.com... > Hello Tutors! > > I was trying to make some groups optional in a regular expression, but > I couldn't do it. > > For example, I have the string: > >>>> data = "<price>42</price> sdlfks d f<ship>60</ship> sdf sdf >>>> <title>Title</title>" [ re attempts stripped] Your data looks like XML. If it is actually well-formed XML, have you tried ElementTree? PythonWin 2.6.1 (r261:67517, Dec 4 2008, 16:51:00) [MSC v.1500 32 bit (Intel)] on win32. Portions Copyright 1994-2008 Mark Hammond - see 'Help/About PythonWin' for further copyright information. >>> from xml.etree import ElementTree as ET >>> data = "<object><price>42</price> sdlfks d f<ship>60</ship> sdf sdf >>> <title>Title</title></object>" >>> t=ET.fromstring(data) >>> t.tag 'object' >>> for e in t.getchildren(): ... print e.tag,e.text ... price 42 ship 60 title Title >>> -Mark ------------------------------ _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor End of Tutor Digest, Vol 62, Issue 42 ************************************* _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor