Re: ignore special characters in python regex

2009-07-21 Thread Astan Chee

I think the re.escape did the trick.
to answer your questions:
By "ignore" i meant instead of using non-alphanumeric characters that 
have special significance in regular expression (e.g. [|\]) and treat 
them as normal strings (i.e preceded by \), but since I don't know all 
the characters in regular expression that have special significance, I 
don't know which ones to add a '\' infront of.

Thanks anyway

John Machin wrote:

On Jul 21, 3:02 pm, Astan Chee  wrote:
  

Hi,
I'm reading text from a file (per line) and I want to do a regex using
these lines but I want the regex to ignore any special characters and
treat them like normal strings.
Is there a regex function that can do this?



It would help if you were to say

(1) what "ignore ... characters" means -- pretend they don't exist?
(2) what are "special chararacters" -- non-alphanumeric?
(3) what "treat them like normal strings" means
(4) how you expect these special characters to be (a) ignored and (b)
"treated like normal strings" /at the same time/.

Cheers,
John
  
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: If Scheme is so good why MIT drops it?

2009-07-21 Thread Rainer Joswig
On 21 Jul., 06:57, Frank Buss  wrote:
> Scott Burson wrote:
> > Have you looked at ECL?
>
> >http://ecls.sourceforge.net/
>
> > I've used it only a little, so I can't vouch for its stability, but it
> > fits the threading and license requirements (well, some corporate
> > lawyers have trouble with the LGPL, but I think it's usable).
>
> I didn't tried it myself, but looks like it is not very stable:
>
> http://www.mail-archive.com/application-buil...@lispniks.com/msg01069.html


I'm not sure if it is fair to post a reference to a single
post by someone without context and without having used ECL.
If there are stability problems, people can report to the
ECL mailing list. The maintainers are very active.

Frank, I have seen you constructive and posting code a year ago.
What happened? Several messages of yours I've seen here are now
going in the direction of been mostly useless. I thought
you could do better.

If you are no longer interested in Lisp with no first hand usage,
why not switch to comp.lang.misc or some other random place?
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Mutable Strings - Any libraries that offer this?

2009-07-21 Thread Thomas Guettler
casebash schrieb:
> Hi,
> 
> I have searched this list and found out that Python doesn't have a
> mutable string class (it had an inefficient one, but this was removed
> in 3.0). Are there any libraries outside the core that offer this?

Hi,

you could use a list of characters. It would not be difficult to
implement this as a class with all fancy methods like startswith() ...

  Thomas

-- 
Thomas Guettler, http://www.thomas-guettler.de/
E-Mail: guettli (*) thomas-guettler + de
-- 
http://mail.python.org/mailman/listinfo/python-list


PIL for OSX 64bit

2009-07-21 Thread moerchendiser2k3
Hi,

I have a problem with Python and the Python Image Library to get it
work on OSX 64 bit. Maybe anyone can help me? I started Python in 64
bit mode and called Image.open(...).load() and got:

ImportError: The _imaging C module is not installed

Yes, it seems PIL is not available in 64 bit on my system, but I can't
compile it in any way. Is there a tutorial or something like that
which explains how I can compile it in 64 bit? I found a workaround
where I added this function to the setup.py

OrigExtension = Extension
def Extension(*args, **kwargs):
extra_args = ['-arch', 'x86_64']
kwargs['extra_compile_args'] = extra_args + kwargs.get
('extra_compile_args', [])
kwargs['extra_link_args'] = extra_args + kwargs.get('extra_link_args',
[])
return OrigExtension(*args, **kwargs)

without success. Can anyone help me? Thanks...


Cheers, Googler
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Running a Python Service under the LocalService or NetworkService Account

2009-07-21 Thread sightseer
On Jul 20, 5:25 pm, "David Adamo Jr."  wrote:
> On Jul 20, 5:14 pm, Tim Golden  wrote:
>
>
>
> > mistersexy wrote:
> > > On Jul 20, 3:03 pm, Tim Golden  wrote:
> > >> mistersexy wrote:
> > >>> I am trying to create a Windows service in Python using pywin32. I do
> > >>> not want this service to run under a user account. I want this service
> > >>> to be able to run as a LocalService, NetworkService and the like. How
> > >>> do I specify this using the win32 library? Thanks, everyone.
> > >> When you "install" the service, using the HandleCommandLine
> > >> option, specify --username= and --password options.
>
> > >> TJG
>
> > > That's exactly my point. I do not want to have to specify username and
> > > password options. For instance, when creating a Windows Service
> > > in .NET, it is possible to specify that the service should run using
> > > the LocalService or NetworkService account. Doing this, you would not
> > > need to specify username and password options. Is there a way to
> > > achieve this in Python?
>
> > Sorry, I misread: I mentally removed the "not" in your 'I do not want
> > this service to run under a user account' and reinserted it
> > further on!
>
> > By default, the service will run as LocalSystem: you
> > only specify a username to override that default. The value
> > in Username is passed straight through to the CreateService
> > Win32 API, and the docs for that:
>
> >  http://msdn.microsoft.com/en-us/library/ms682450%28VS.85%29.aspx
>
> > say:
>
> > """
> > lpServiceStartName [in, optional]
>
> >     The name of the account under which the service should run. If the 
> > service type is SERVICE_WIN32_OWN_PROCESS, use an account name in the form 
> > DomainName\UserName. The service process will be logged on as this user. If 
> > the account belongs to the built-in domain, you can specify .\UserName.
>
> >     If this parameter is NULL, CreateService uses the LocalSystem account. 
> > If the service type specifies SERVICE_INTERACTIVE_PROCESS, the service must 
> > run in the LocalSystem account.
>
> >     If this parameter is NT AUTHORITY\LocalService, CreateService uses the 
> > LocalService account. If the parameter is NT AUTHORITY\NetworkService, 
> > CreateService uses the NetworkService account.
>
> >     A shared process can run as any user.
>
> >     If the service type is SERVICE_KERNEL_DRIVER or 
> > SERVICE_FILE_SYSTEM_DRIVER, the name is the driver object name that the 
> > system uses to load the device driver. Specify NULL if the driver is to use 
> > a default object name created by the I/O system.
>
> >     A service can be configured to use a managed account or a virtual 
> > account. If the service is configured to use a managed service account, the 
> > name is the managed service account name. If the service is configured to 
> > use a virtual account, specify the name as NT SERVICE\ServiceName. For more 
> > information about managed service accounts and virtual accounts, see the 
> > Service Accounts Step-by-Step Guide.
>
> >         Windows Server 2008, Windows Vista, Windows Server 2003, and 
> > Windows XP/2000:  Managed service accounts and virtual accounts are not 
> > supported until Windows 7 and Windows Server 2008 R2.
> > """
>
> > So, although I haven't tried it, it looks as though you can pass
> > "LocalService" or "NetworkService" and so on if you want to
> > override the default LocalSystem but don't want to specify a
> > username/password.
>
> > TJG
>
> I'll try this stuff. Thanks a million...I'll let everyone know how it
> goes.

I'm finding it hard to install my Python service. When I try to
install the service, this is what I get:

Error Installing Service: Access is Denied. (5)

Event with a correct username and password (I think).
Also, inheriting from the win32serviceutil.Framework class, I do not
see a way to explicitly specify the serviceType. I know some of the
parameters such as the startupType can be specified when installing
the service in the command line, but how are these things specified in
the service code when inheriting from win32serviceutil.Framework
(especially the serviceType).

Does this mean I would have to code my service from scratch without
using win32serviceutil.Framework? Basically, I still can't install my
service using a NetworkService or LocalSystem Account because it still
requires me to specify a username and password. Following Tim Golden's
advice, I'm trying to specify the service type in order to determine
what account to run the service under. Please help!
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Help understanding the decisions *behind* python?

2009-07-21 Thread Hendrik van Rooyen
On Monday 20 July 2009 21:26:07 Phillip B Oldham wrote:
> On Jul 20, 6:08 pm, Duncan Booth  wrote:
> > The main reason why you need both lists and tuples is that because a
> > tuple of immutable objects is itself immutable you can use it as a
> > dictionary key.
>
> Really? That sounds interesting, although I can't think of any real-
> world cases where you'd use something like that.

simplest is something like a point in the cartesian plane with
an associated attribute like colour.

- Hendrik


-- 
http://mail.python.org/mailman/listinfo/python-list


Re: ANN: Shed Skin 0.2, an experimental (restricted) Python-to-C++ compiler

2009-07-21 Thread William Dode
On 20-07-2009, srepmub wrote:
>
>> Nice timings, can you please show me the Python, Java and C code
>> versions? I may do more tests.

Of course, the codes are here :

http://hg.flibuste.net/libre/games/cheval

Like you'll see, i tried to use exactly the same code for each langage.

>
> also, which shedskin options did you use? did you use -bw, to disable
> bounds and wrap-around checking? this can make quite a difference for
> code that does a lot of indexing. if the code uses random numbers,
> then -r can also make a big difference, to use C rand(), instead of
> Python compatible random numbers.
>
> and which C++ compiler flags did you use? the default -O2, or
> something like -O3 -fomit-frame-pointer -msse2..?

I used the default, shedksin cheval.py; make
shedskin 0.2

With -bw and -O3 -fomit-frame-pointer -msse2 i have 5.5s (instead of 8)

Let me know if you find better.

-- 
William Dodé - http://flibuste.net
Informaticien Indépendant
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: ANN: Shed Skin 0.2, an experimental (restricted) Python-to-C++ compiler

2009-07-21 Thread William Dode
On 20-07-2009, Bearophile wrote:
> Skip Montanaro:
>> I read just enough French to know that "avec" means "with", but I don't
>> understand the difference between "avec malloc *int" and "avec []".  Can you
>> explain please?
>
> Maybe it's the time difference between using a Python list from Cython
> and using a C "array" allocated with a malloc from Cython.

yes, it's this

-- 
William Dodé - http://flibuste.net
Informaticien Indépendant
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Mutable Strings - Any libraries that offer this?

2009-07-21 Thread Ben Finney
John Machin  writes:

> OK, I'll bite: where does the Python 3.x bytearray type

I wasn't previously aware of it, thanks for bringing it to my attention
http://docs.python.org/3.1/library/stdtypes.html#bytes-methods>.

> fit into your taxonomy? At first glance it appears to be mutable and
> have a fair swag of functionality.

Yes. I'd classify it as a mutable array of bytes :-) but, as such, not
to be used as a text string.

-- 
 \“Science doesn't work by vote and it doesn't work by |
  `\authority.” —Richard Dawkins, _Big Mistake_ (The Guardian, |
_o__)  2006-12-27) |
Ben Finney
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Mutable Strings - Any libraries that offer this?

2009-07-21 Thread Ben Finney
Steven D'Aprano  writes:

> On Mon, 20 Jul 2009 21:08:22 +1000, Ben Finney wrote:
> > A mutable string would not (AFAICT) be usefully implementable as a
> > subclass of the built-in string types. So even if such a type
> > existed, it would not be useable with all the functionality that
> > works with strings.
> 
> If applications ignore duck-typing and do isinstance(value, str), it's
> arguably the application and not the value that is broken.

Agreed, I wouldn't advise that. My point was rather meant to imply that
subclassing the built-in (immutable) string types was the best way to
usefully get all their functionality, rather than re-implementing most
of it.

-- 
 \ “I went to a restaurant that serves ‘breakfast at any time’. So |
  `\I ordered French Toast during the Renaissance.” —Steven Wright |
_o__)  |
Ben Finney
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: missing 'xor' Boolean operator

2009-07-21 Thread Mark Dickinson
On Jul 20, 11:34 pm, Ethan Furman  wrote:
> Dr. Phillip M. Feldman wrote:
>  > Suppose that 'xor' returns the value that is true when only one value is
>  > true, and False otherwise.  This definition of xor doesn't have the
> standard
>  > associative property, that is,
>  >
>  > (a xor b) xor c
>  >
>  > will not necessarily equal
>  >
>  > a xor (b xor c)
>  >
>  > To see that this is the case, let a= 1, b= 2, and c= 3.
>  >
>  > (a xor b) xor c
>  >
>  > yields 3, while
>  >
>  > a xor (b xor c)
>  >
>  > yields 1.  So, I'd prefer an xor operator that simply returns True or
> False.
>  >
>  > Phillip
>  >
>
> You are, of course, free to write your version however it makes sense to
> you and your team.  :)
>
> Since the 'and' and 'or' already return objects (and objects evaluate to
> true or false), then 'xor' should behave likewise, IMO.  I expect that
> would be the case if it were ever added to the language.

I'm not so sure.  Did you ever wonder why the any() and all()
functions introduced in 2.5 return a boolean rather than returning
one of their arguments?  (I did, and I'm still not sure what the
answer is.)

Mark
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: If Scheme is so good why MIT drops it?

2009-07-21 Thread Juanjo
On Jul 21, 6:57 am, Frank Buss  wrote:
> Scott Burson wrote:
> > Have you looked atECL?
>
> >http://ecls.sourceforge.net/
>
> > I've used it only a little, so I can't vouch for its stability, but it
> > fits the threading and license requirements (well, some corporate
> > lawyers have trouble with the LGPL, but I think it's usable).
>
> I didn't tried it myself, but looks like it is not very stable:
>
> http://www.mail-archive.com/application-buil...@lispniks.com/msg01069...

ECL suffers from fast development problems if this is what you mean.
People are advised to stay with certain releases and we announce when
some ports are broken due to progress along certain lines.

For instance, if I find that the generational garbage collector is
needed for Linux, FreeBSD, OpenBSD and OS X, and it works, I do not
mind dropping temporarily the mingw port until the garbage collector
library catches up. People who wanted to stay with mingw produced a
branch (see Samium's posts) with the old garbage collector.

Now this is not so dramatic. ECL now has a release cycle of ONE MONTH.
If you find that this month's release does not work on your platform
(and this is normally explicit in the announcement), then do not
upgrade and wait one or two months until the problem is solved.

OTOH, people only seem to notice problems when their petty platform is
temporarily broken, but nobody seems to notice the overall stability
and portability of the platform. See the list 
http://ecls.sourceforge.net/logs.html
which will soon expand including Solaris and regular builds on Windows
using the free Microsoft compiler. And once the ARM computer I have
been gifted by a happy arrives, then Debian-ARM as well.

Juanjo
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: If Scheme is so good why MIT drops it?

2009-07-21 Thread milanj
On Jul 19, 8:31 pm, Frank Buss  wrote:
> Python is not that bad. Unlike Lisp, there is much less undefined behavior,
> there is one free unique implementation on the 3 major platforms Linux,
> Windows and MacOS X, which is stable, support multithreading and has a
> default GUI library binding, which is difficult to find for Lisp (e.g. I
> don't know of a free modern and stable Lisp implemenation with
> mulithreading support for Windows, with a licence with which you can use it
> in closed source commercial programs, like you can do with Python). Many
> problems in the Lispbuilder mailing list are related to problems due to
> different operating systems and Lisp implementations.

> Frank Buss, 
> f...@frank-buss.dehttp://www.frank-buss.de,http://www.it4-systems.de

Someone should mention Clozure CL - http://trac.clozure.com/openmcl
As you can see there is os x, freebsd, linux, solaris and windows port
and all of them use native threads (python still use green threads ?)
and development is pretty alive, they did planty of developing last
year[s], ccl licence permits you to deliver closed source programs ...
CCL is promising bright feature to CL since looks like the insist of
building stable implementation across most arch in use today


-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Running a Python Service under the LocalService or NetworkService Account

2009-07-21 Thread Martin P. Hellwig

sightseer wrote:



Error Installing Service: Access is Denied. (5)



Are you trying to do this on windows vista?

--
MPH
http://blog.dcuktec.com
'If consumed, best digested with added seasoning to own preference.'
--
http://mail.python.org/mailman/listinfo/python-list


Re: ignore special characters in python regex

2009-07-21 Thread Gabriel Genellina
En Tue, 21 Jul 2009 02:02:57 -0300, Astan Chee   
escribió:


I'm reading text from a file (per line) and I want to do a regex using  
these lines but I want the regex to ignore any special characters and  
treat them like normal strings.

Is there a regex function that can do this?
Here is what I have so far:
fp = open('file.txt','r')
notes = fp.readlines()
fp.close()
strin = "this is what I want"
for note in notes:
 if re.search(r""+ str(note) + "",strin):
   print "Found " + str(note) + " in " + strin


You don't even need a regex for that.

py> "fragil" in "supercalifragilisticexpialidocious"
True

Note that: r""+ str(note) + ""
is the same as: str(note)
which in turn is the same as: note

Remember that each line keeps its '\n' final!

for note in notes:
  if note.rstrip('\n') in strin:
print "Found %s in %s" % (note, strin)

--
Gabriel Genellina

--
http://mail.python.org/mailman/listinfo/python-list


Re: Help understanding the decisions *behind* python?

2009-07-21 Thread Duncan Booth
Hrvoje Niksic  wrote:

> Chris Rebert  writes:
> 
 x = [2,1,3]
 print sorted(x)[0]
DB> 3
>>>
>>> What kind of Python produces that?
>>
>> Assuming you're referring to the latter example, it was added in
>> version 2.4 If you meant the former example, I think that's purely
>> pseudo-Python. 
> 
> sorted([2, 1, 3])[0] evaluates to 1, not 3.
> 

I guess you can tell I broke my unbreakable rule to never post untested 
code without labelling it as such. :-)

-- 
Duncan Booth http://kupuguy.blogspot.com
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: How to import pydoc and then use it?

2009-07-21 Thread Jean-Michel Pichavant

Albert Hopkins wrote:

On Mon, 2009-07-20 at 13:38 -0700, mrstevegross wrote:
  

I know how to use pydoc from the command line. However, because of
complicated environmental setup, it would be preferable to run it
within a python script as a native API call. That is, my python runner
looks a bit like this:

  import pydoc
  pydoc.generate_html_docs_for(someFile)

However, it's not clear to me from the pydoc documentation which
function calls I need to use to make this behavior work. Any ideas?



Did you try 'pydoc pydoc'? ;)

  

import pydoc
htmldoc = pydoc.HTMLDoc()
htmldoc_for_pydoc = htmldoc(pydoc)
print htmldoc_for_pydoc



  
By the way, just in case the OP didn't know, there is the epydoc module 
(google it) which is doing basically the same things than pydoc, but 
with a much better look and feel to my opinion.


JM
--
http://mail.python.org/mailman/listinfo/python-list


Re: ANN: Shed Skin 0.2, an experimental (restricted) Python-to-C++ compiler

2009-07-21 Thread srepmub

> With -bw and -O3 -fomit-frame-pointer -msse2 i have 5.5s (instead of 8)
>
> Let me know if you find better.

thanks. now I'm wondering how fast does the C version become with
these flags..? :-)


mark.
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: ANN: Shed Skin 0.2, an experimental (restricted) Python-to-C++ compiler

2009-07-21 Thread Nick Craig-Wood
Mark Dufour  wrote:
>  I have just released version 0.2 of Shed Skin, an experimental
>  (restricted) Python-to-C++ compiler (http://shedskin.googlecode.com).
>  It comes with 7 new example programs (for a total of 40 example
>  programs, at over 12,000 lines) and several important improvements/bug
>  fixes. See http://code.google.com/p/shedskin/wiki/ReleaseNotes for the
>  full changelog.

Cool!

I tried it on a program I wrote to solve a puzzle (Rush Hour).
(Actually it solves the meta-puzzle - trying to make the hardest
possible Rush Hour puzzle.)

After a bit of twiddling (remove psyco and profiling) I got it to
start compiling, but unfortunately it compiled for about an hour (in
iterative type analysis..) used up 600 MB of RAM printing an '*' every
10 minutes or so then gave an error message and gave up.

Unfortunately I shut the window by accident, but the error message was
something about not being able to resolve types I think with a list of
20 or so unresolved types.

Can you give a hint as to how I debug this?  I presume my program has
some instances of non static types which is causing the problem, but
it is going to be a very long debugging session if it takes me an hour
each cycle ;-)

The program is about 700 lines of python (excluding comments).

Thanks

Nick
-- 
Nick Craig-Wood  -- http://www.craig-wood.com/nick
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: ANN: Shed Skin 0.2, an experimental (restricted) Python-to-C++ compiler

2009-07-21 Thread William Dode
On 21-07-2009, srepmub wrote:
>
>> With -bw and -O3 -fomit-frame-pointer -msse2 i have 5.5s (instead of 8)
>>
>> Let me know if you find better.
>
> thanks. now I'm wondering how fast does the C version become with
> these flags..? :-)

I don't see any difference...

-- 
William Dodé - http://flibuste.net
Informaticien Indépendant
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Running a Python Service under the LocalService or NetworkService Account

2009-07-21 Thread David Adamo Jr.
On Jul 21, 10:40 am, "Martin P. Hellwig" 
wrote:
> sightseer wrote:
>
> 
>
> > Error Installing Service: Access is Denied. (5)
>
> 
> Are you trying to do this on windows vista?
>
> --
> MPHhttp://blog.dcuktec.com
> 'If consumed, best digested with added seasoning to own preference.'

Yeah, I was trying to do it on Vista. Someone has just helped me out.
I had to deactivate User Account Control on Windows Vista...and now
everything is rosy. Thanks guys.
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: JavaScript toolkits (was Re: ANN: Porcupine Web Application Server 0.6 is released!)

2009-07-21 Thread Paul Boddie
On 20 Jul, 18:00, a...@pythoncraft.com (Aahz) wrote:
>
> Out of curiosity, are there any JavaScript toolkits that generate code
> that degrades gracefully when JavaScript is disabled?

You mean "Web toolkits which use JavaScript", I presume. I have
written (and use myself) a toolkit/framework called XSLForms (part of
the XSLTools distribution) which supports in-page updates (AJAX,
effectively) that degrade to vanilla whole-page requests if JavaScript
is switched off:

http://www.boddie.org.uk/python/XSLTools.html

I've been meaning to have a few example applications running on that
site to illustrate the point. Some people complain that by
constraining the JavaScript functionality to merely enhance vanilla
HTML/HTTP functionality, one is not using the full potential of the
medium, but having used sites whose JavaScript has failed, thus
preventing the use of those sites almost completely, I think that
stacking AJAX-like stuff on top of normal stuff helps the majority of
developers offer an accessible solution.

Paul
-- 
http://mail.python.org/mailman/listinfo/python-list


Particle research opens door for new technology

2009-07-21 Thread Rashid Ali Soomro
Big uses for small particles will be explored at the annual Particle
Technology Research Centre Conference at The University of Western
Ontario July 9 and 10.more link http://0nanotechnology0.blogspot.com/
-- 
http://mail.python.org/mailman/listinfo/python-list


RE: Auto-generate GUI from a database table structure

2009-07-21 Thread Boyd, Craig1
Gabriel,

Thanks for pointing this out.  It does not look like it supports Oracle at this 
time, which is one of my requirements, but that is based on doing a quick read 
of the wiki.  I will dig in further and see.  Perhaps it supports ODBC which 
would be an acceptable work-around. 

Thanks again,
 
Craig

-Original Message-
From: python-list-bounces+craig1.boyd=citi@python.org 
[mailto:python-list-bounces+craig1.boyd=citi@python.org] On Behalf Of 
Gabriel Genellina
Sent: Monday, July 20, 2009 4:40 PM
To: python-list@python.org
Subject: Re: Auto-generate GUI from a database table structure

En Mon, 20 Jul 2009 12:09:47 -0300, Boyd, Craig1  
escribió:

> I am trying to write a couple screens to update three or four database 
> tables on Oracle 10g and I was wondering if there was a way to 
> automatically generate some kind of GUI shell based on the tables that 
> I could then fill in with the logic / functionality I need.

I've never actually used it, but the DABO project seems to provide what you 
want: http://dabodev.com/

--
Gabriel Genellina

--
http://mail.python.org/mailman/listinfo/python-list
-- 
http://mail.python.org/mailman/listinfo/python-list


Multiple versions of python

2009-07-21 Thread ChrisW
Hi,

I have installed 2 versions of python on my Windows XP computer - I
originally had 3.0.1, but then found that the MySQL module only
supported 2.*, so I've now installed that.  I have found that if I
change the Windows Environment Variable path, then I can change the
version of python called when I type 'python' into a command line.
However, I'd like to be able to choose which version I use.  I know
that if I change C:\Python26\python.exe to
C:\Python26\python2.exe and C:\Python30\python.exe to C:
\Python26\python3.exe, then typing 'python2' or 'python3' will invoke
the correct interpreter.  However, is it safe just to rename the
executable files? Is there a more elegant way to achieve the same
task?

Thanks,
Chris
-- 
http://mail.python.org/mailman/listinfo/python-list


Regular expression

2009-07-21 Thread Peter Fodrek
Dear conference!

I have  third party regular expression

 self.pattern_main = re.compile('(\s+|\w(?:[+])?\d*(?:\.\d*)?|\w\#\d+|\(.*?\)|
\#\d+\=(?:[+])?\d*(?:\.\d*)?)')

with code

 def readline(self):
self.line = self.file_in.readline().rstrip()  
if (len(self.line)) : return True
else : return False

 while (self.readline()):
words = self.pattern_main.findall(self.line)


This handles text file  like

// remark
PL_OFF
PARK
FS
MA  52.8806 ,  18.0914
SS
AD_W
PL_ON
C   52.3955 ,  -16.1511 ,  -90.

It handles file correctly with two exceptions

1) omits ',' in the a output
2) omits minus sign in the numbers...

Would anyone recommend me what to change regular expression to add thesee two 
think to the output,please?

Thank you for any help.

I  look forward hearing form you
Yours faithfully

Peter Fodrek
 
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Help understanding the decisions *behind* python?

2009-07-21 Thread Inky 788
On Jul 20, 12:27 pm, Phillip B Oldham 
wrote:
> [snip] We
> understand that lists are mutable and tuples are not, but we're a
> little lost as to why the two were kept separate from the start. They
> both perform a very similar job as far as we can tell.

My guess is that it was probably for optimization reasons long ago.
I've never heard a *good* reason why Python needs both.
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Mutable Strings - Any libraries that offer this?

2009-07-21 Thread Scott David Daniels

Steven D'Aprano wrote:

On Mon, 20 Jul 2009 21:08:22 +1000, Ben Finney wrote:

What is it you're trying to do that makes you search for a mutable
string type? It's likely that a better approach can be found.


When dealing with very large strings, it is wasteful to have to duplicate 
the entire string just to mutate a single character.


However, when dealing with very large strings, it's arguably better to 
use the rope data structure instead.


The general problem is that whether strings are mutable or not is an
early language design decision, and few languages provide both.
Mutable strings need lots of data copying to be safe passing args to
unknown functions; immutable strings need lots of copying for ncremental
changes.  The rope is a great idea for some cases.

I'd argue Python works better with immutable strings, because Python is
too slow at per-character operations to be running up and down strings
a character at a time, changing here and there.  So it becomes more
natural to deal with strings as chunks to pass around, and it is nice
not to have to copy the strings when doing that passing around.

--Scott David Daniels
scott.dani...@acm.org
--
http://mail.python.org/mailman/listinfo/python-list


Re: Multiple versions of python

2009-07-21 Thread Scott David Daniels

ChrisW wrote:

Hi,

I have installed 2 versions of python on my Windows XP computer - I
originally had 3.0.1, but then found that the MySQL module only
supported 2.*, so I've now installed that.  I have found that if I
change the Windows Environment Variable path, then I can change the
version of python called when I type 'python' into a command line.
However, I'd like to be able to choose which version I use.  I know
that if I change C:\Python26\python.exe to
C:\Python26\python2.exe and C:\Python30\python.exe to C:
\Python26\python3.exe, then typing 'python2' or 'python3' will invoke
the correct interpreter.  However, is it safe just to rename the
executable files? Is there a more elegant way to achieve the same
task?

I wouldn't rename them.  You can, of course, copy them (so you have two
executables), or you can pick a somedir on your path (I made a directory
"C:\cmds" that I add to my path, but tastes vary).

C:> copy con \py25.cmd
C:\Python25\python\python.exe %*
^Z
C:> copy con \py31.cmd
C:\Python31\python\python.exe %*
^Z

I'd use the two-digit form, as that is where interface changes
happen; trying code with py24, py25, py26 can be convenient.
By the way, install Python 3.1 rather than 3.0; think of 3.0 as the
alpha of the 3.X branches (it will get no love at all now that 3.1
is out).

--Scott David Daniels
scott.dani...@acm.org
--
http://mail.python.org/mailman/listinfo/python-list


Re: If Scheme is so good why MIT drops it?

2009-07-21 Thread Raffael Cavallaro

On 2009-07-21 05:37:27 -0400, milanj  said:


Someone should mention Clozure CL - http://trac.clozure.com/openmcl
As you can see there is os x, freebsd, linux, solaris and windows port
and all of them use native threads (python still use green threads ?)
and development is pretty alive, they did planty of developing last
year[s], ccl licence permits you to deliver closed source programs ...
CCL is promising bright feature to CL since looks like the insist of
building stable implementation across most arch in use today


Hear, hear!
--
Raffael Cavallaro

--
http://mail.python.org/mailman/listinfo/python-list


Re: Multiple versions of python

2009-07-21 Thread Dave Angel

ChrisW wrote:

Hi,

I have installed 2 versions of python on my Windows XP computer - I
originally had 3.0.1, but then found that the MySQL module only
supported 2.*, so I've now installed that.  I have found that if I
change the Windows Environment Variable path, then I can change the
version of python called when I type 'python' into a command line.
However, I'd like to be able to choose which version I use.  I know
that if I change C:\Python26\python.exe to
C:\Python26\python2.exe and C:\Python30\python.exe to C:
\Python26\python3.exe, then typing 'python2' or 'python3' will invoke
the correct interpreter.  However, is it safe just to rename the
executable files? Is there a more elegant way to achieve the same
task?

Thanks,
Chris

  
The elegant way is to have a batch directory on your PATH ( I use  
m:\t\bat )  and put your *.bat files there.   I do NOT put any python 
installations on the PATH.


For example, I have a batch file called: m:\t\bat\python26.bat

c:\progfiles\python26\python.exe %*

The %* syntax means pass all arguments through to the program.

Once it all works, you can add an "@" in front of the c:   in order to 
suppress echoing the command.  At that point, it'll look and work the 
same way as what you did, but without modifying anything in the install 
directory.(You may want  python26.bat, pythonw26.bat, python31.bat 
and pythonw31.bat)




The other thing you may want to do in a batch file is to change the file 
associations so that you can run the .py file directly, without typing 
"python" or "pythonw" in front of it.


The relevant Windows commands are: assoc and ftype  And on a 
related note, you may want to edit the PATHEXT environment variable, to 
add .PY and .PYW



--
http://mail.python.org/mailman/listinfo/python-list


Workflow Libraries (DB vs Code)

2009-07-21 Thread Thomas Guettler
Hi,

I need to write some simple workflows with web interface.

For the web stuff I will use django, but I am not sure how
to do the workflow part.

Here are ideas:

Do it myself. I don't think it will be difficult, I did things like
this before. But they were not reusable.

Use spiff Workflow library http://code.google.com/p/spiff-workflow/

Use goflow for django (port of OpenFlow of Zope). It does not look like a 
active project.

Has anyone worked with spiff, goflow or other workflow software? What do you 
like and
dislike?

Somehow I like it the way goflow does it: The process definitions are stored
in the database. But on the other hand I prefer to have things like this in
a SVN-Repository.

Creating the workflow definitions will be done by python programmers. I don't 
need
a GUI to build them.

There are many languages to define processes (BPML, XPDL, BPEL or YAWL). But I 
prefer python.

Feedback welcome,

  Thomas

-- 
Thomas Guettler, http://www.thomas-guettler.de/
E-Mail: guettli (*) thomas-guettler + de
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: invoke method on many instances

2009-07-21 Thread Simon Forman
On Jul 20, 3:29 am, "Gabriel Genellina" 
wrote:
> En Sat, 18 Jul 2009 12:31:46 -0300, Alan G Isaac   
> escribió:
>
> >> On Fri, 17 Jul 2009 05:19:50 +, Alan G Isaac wrote:
> >>> def apply2(itr, methodname, *args, **kwargs):
> >>>     f = operator.methodcaller(methodname, *args, **kwargs)
> >>>     for item in itr:
> >>>         f(item)
>
> > On 7/17/2009 3:45 AM Steven D'Aprano apparently wrote:
> >> for obj in objects:
> >>     getattr(obj, methodname)(*args, **kwargs)
>
> > Are there any obvious considerations in choosing
> > between those two?
>
> The operator.methodcaller version is faster in my tests for large  
> collections, but slightly slower when you have very few elements.
>
> 
> import operator
> import timeit
>
> class X:
>    def method(self, x, y, **kw): pass
>
> def apply1(itr, methodname, *args, **kwargs):
>      for item in itr:
>          getattr(item, methodname)(*args, **kwargs)
>
> def apply2(itr, methodname, *args, **kwargs):
>      f = operator.methodcaller(methodname, *args, **kwargs)
>      for item in itr:
>          f(item)
>
> L=[X() for _ in range(3000)]
> apply1(L,'method', 1, 2, foo=3)
> apply2(L,'method', 1, 2, foo=3)
>
> timeit.timeit(setup="from __main__ import apply1,apply2,L",  
> stmt="apply1(L,'method', 1, 2, foo=3)", number=1000)
> timeit.timeit(setup="from __main__ import apply1,apply2,L",  
> stmt="apply2(L,'method', 1, 2, foo=3)", number=1000)
> 
>
> --
> Gabriel Genellina

If your instances are all of the same class you can pass in the method
directly like so:

def apply3(iterator, method, *args, **kwargs):
for item in iterator:
method(item, *args, **kwargs)

class X:
   def method(self, x, y, **kw): pass

items = [X() for _ in range(10)]

apply3(items, X.method, 1, 2, foo=3)

HTH,
~Simon
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: tough-to-explain Python

2009-07-21 Thread Simon Forman
On Mon, Jul 20, 2009 at 9:54 PM, Paul Rubin wrote:
> Simon Forman  writes:
>> But I'm glad it's there to study, these are wheels I don't have to
>> invent for myself.
>
> http://dwheeler.com/essays/high-assurance-floss.html
>
> might be an interesting place to start.

OO la la!  Thank you!
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: If Scheme is so good why MIT drops it?

2009-07-21 Thread Slobodan Blazeski
On Jul 19, 7:33 pm, fft1976  wrote:
> On Jul 19, 9:55 am, Frank Buss  wrote:
>
> > E.g. the number system: In many Lisp
> > implementations (/ 2 3) results in the fractional object 2/3. In Python 2.6
> > "2 / 3" results in "0". Looks like with Python 3.1 they have fixed it, now
> > it returns "0.66", which will result in lots of fun for porting
> > applications written for Python <= 2.6.
>
> How do you explain that something as inferior as Python beat Lisp in
> the market place despite starting 40 years later.

Worse is better?

Bobi
http://www.linkedin.com/in/slobodanblazeski
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: ANN: Shed Skin 0.2, an experimental (restricted) Python-to-C++ compiler

2009-07-21 Thread Bearophile
Nick Craig-Wood:
> Can you give a hint as to how I debug this?  I presume my program has
> some instances of non static types which is causing the problem, but
> it is going to be a very long debugging session if it takes me an hour
> each cycle ;-)
>
> The program is about 700 lines of python (excluding comments).

You can show us the Python (SSPython) code, and we can try to find the
problem. Sometimes there's no simple ways to solve such problems.

Generally for not very large progrograms if SS doesn't compile in
about a minute or so then it's gone in infinite loop (there's a
compilation flag that avoids some infinite loops, try it).

Bye,
bearophile
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Help understanding the decisions *behind* python?

2009-07-21 Thread Piet van Oostrum
> Hendrik van Rooyen  (HvR) wrote:

>HvR> On Monday 20 July 2009 21:26:07 Phillip B Oldham wrote:
>>> On Jul 20, 6:08 pm, Duncan Booth  wrote:
>>> > The main reason why you need both lists and tuples is that because a
>>> > tuple of immutable objects is itself immutable you can use it as a
>>> > dictionary key.
>>> 
>>> Really? That sounds interesting, although I can't think of any real-
>>> world cases where you'd use something like that.

>HvR> simplest is something like a point in the cartesian plane with
>HvR> an associated attribute like colour.

There are numerous other examples. Anytime you need a key that is not a
single object but composed of more than one:
Name + birthday
Street + number + City
Student + Course
etc.
-- 
Piet van Oostrum 
URL: http://pietvanoostrum.com [PGP 8DAE142BE17999C4]
Private email: p...@vanoostrum.org
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: ANN: Shed Skin 0.2, an experimental (restricted) Python-to-C++ compiler

2009-07-21 Thread Bearophile
William Dode':
> http://hg.flibuste.net/libre/games/cheval
> Like you'll see, i tried to use exactly the same code for each langage.

It's a cute solver.

Few more versions of mine:

#1, a Psyco version of mine:
http://codepad.org/9m5rf7kX

#2, unrolled Psyco version:
http://codepad.org/gKFLu34M

#3, a quick D (D1) version:
http://codepad.org/Tk9FL7Xk

Timings (no printing), seconds, best of 3:
#1: 4.79
#2: 3.67
#3: 1.10
Your Psyco version: 13.37
Your C version, compiled with GCC 4.3.2, -s -O3 -fomit-frame-pointer:
3.79

I have timed the whole running time of the programs, with an external
timer, so my timings include the start of the PythonVM and the final
cleanup of the GC.

Please, feel free to time my code again, so we can compare with your
other timings (Java, etc) better.

I have used Psyco 1.6 final and Python 2.6.2 on a Core2 CPU at 2 GHz.

To compile the D1 code you can use the free DMD compiler for D1, I
have used version 1.042, www.digitalmars.com/d/download.html ).

In such benchmarks it's often better to start from the fastest low
level code (written in an imperative language as C/D/C++, or a version
in a functional language like Clean or OCaML) and then use it to
create higher level versions (in Python, etc). This offers you a
baseline timing, and usually the small differences of the higher level
code compared to the original C/Clean code don't invalidate the test.

I have changed only small things in the program, as you can see the
Psyco program #2 is faster than your C code :-) If you learn how to
use it well, Psyco1.6 can often lead to very good performance. But lot
of people don't know how to use Psyco well (I too am ignorant: I don't
know how to profile Python programs yet).

Bye,
bearophile
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Help understanding the decisions *behind* python?

2009-07-21 Thread David Smith
Piet van Oostrum wrote:
>> Hendrik van Rooyen  (HvR) wrote:
> 
>> HvR> On Monday 20 July 2009 21:26:07 Phillip B Oldham wrote:
 On Jul 20, 6:08 pm, Duncan Booth  wrote:
> The main reason why you need both lists and tuples is that because a
> tuple of immutable objects is itself immutable you can use it as a
> dictionary key.
 Really? That sounds interesting, although I can't think of any real-
 world cases where you'd use something like that.
> 
>> HvR> simplest is something like a point in the cartesian plane with
>> HvR> an associated attribute like colour.
> 
> There are numerous other examples. Anytime you need a key that is not a
> single object but composed of more than one:
> Name + birthday
> Street + number + City
> Student + Course
> etc.

Compound keys (like what's listed above) can also be used for sorting
lists of dictionaries using DSU style sorting.  Something I believe (and
 I could be wrong) won't work with mutable types like lists.

--David
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Regular expression

2009-07-21 Thread MRAB

Peter Fodrek wrote:

Dear conference!

I have  third party regular expression

 self.pattern_main = re.compile('(\s+|\w(?:[+])?\d*(?:\.\d*)?|\w\#\d+|\(.*?\)|
\#\d+\=(?:[+])?\d*(?:\.\d*)?)')


[snip]

It handles file correctly with two exceptions

1) omits ',' in the a output
2) omits minus sign in the numbers...

Would anyone recommend me what to change regular expression to add thesee two 
think to the output,please?




self.pattern_main = 
re.compile(r'(\s+|,|-?\w\+?\d*(?:\.\d*)?|\w#\d+|\(.*?\)|#\d+=\+?\d*(?:\.\d*)?)')

--
http://mail.python.org/mailman/listinfo/python-list


Re: missing 'xor' Boolean operator

2009-07-21 Thread Ethan Furman

Mark Dickinson wrote:

On Jul 20, 11:34 pm, Ethan Furman  wrote:


Dr. Phillip M. Feldman wrote:
> Suppose that 'xor' returns the value that is true when only one value is
> true, and False otherwise.  This definition of xor doesn't have the
standard
> associative property, that is,
>
> (a xor b) xor c
>
> will not necessarily equal
>
> a xor (b xor c)
>
> To see that this is the case, let a= 1, b= 2, and c= 3.
>
> (a xor b) xor c
>
> yields 3, while
>
> a xor (b xor c)
>
> yields 1.  So, I'd prefer an xor operator that simply returns True or
False.
>
> Phillip
>

You are, of course, free to write your version however it makes sense to
you and your team.  :)

Since the 'and' and 'or' already return objects (and objects evaluate to
true or false), then 'xor' should behave likewise, IMO.  I expect that
would be the case if it were ever added to the language.



I'm not so sure.  Did you ever wonder why the any() and all()
functions introduced in 2.5 return a boolean rather than returning
one of their arguments?  (I did, and I'm still not sure what the
answer is.)

Mark



Very good question -- I likewise do not know the answer.  I will only 
observe that any() and all() are functions, while 'and' and 'or' are 
not.  If one wanted the object-returning behavior one could string 
together 'or's or 'and's instead.


~Ethan~
--
Thinking out loud here -- YMMV.  :)
--
http://mail.python.org/mailman/listinfo/python-list


Re: Help understanding the decisions *behind* python?

2009-07-21 Thread Piet van Oostrum
> David Smith  (DS) wrote:

>DS> Piet van Oostrum wrote:
 Hendrik van Rooyen  (HvR) wrote:
>>> 
>HvR> On Monday 20 July 2009 21:26:07 Phillip B Oldham wrote:
>> On Jul 20, 6:08 pm, Duncan Booth  wrote:
> The main reason why you need both lists and tuples is that because a
> tuple of immutable objects is itself immutable you can use it as a
> dictionary key.
>> Really? That sounds interesting, although I can't think of any real-
>> world cases where you'd use something like that.
>>> 
>HvR> simplest is something like a point in the cartesian plane with
>HvR> an associated attribute like colour.
>>> 
>>> There are numerous other examples. Anytime you need a key that is not a
>>> single object but composed of more than one:
>>> Name + birthday
>>> Street + number + City
>>> Student + Course
>>> etc.

>DS> Compound keys (like what's listed above) can also be used for sorting
>DS> lists of dictionaries using DSU style sorting.  Something I believe (and
>DS>  I could be wrong) won't work with mutable types like lists.

For sorting there is no problem with mutable arrays as long as you don't
mutate them during the sorting process (for example in the comparison
routine). Doing that would be extremely perverse. And there is no
enforcement of that.
-- 
Piet van Oostrum 
URL: http://pietvanoostrum.com [PGP 8DAE142BE17999C4]
Private email: p...@vanoostrum.org
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Regular expression

2009-07-21 Thread Rhodri James
On Tue, 21 Jul 2009 14:30:47 +0100, Peter Fodrek   
wrote:



Dear conference!

I have  third party regular expression

 self.pattern_main =  
re.compile('(\s+|\w(?:[+])?\d*(?:\.\d*)?|\w\#\d+|\(.*?\)|

\#\d+\=(?:[+])?\d*(?:\.\d*)?)')


Always use raw strings (r"...") when you're working with regular
expressions.  *Always*.  It may happen that you don't need them,
as in this case, because Python fails to throw an exception when
it meets unknown escape sequences in string literals, but when
you do need them you will spend hours before realising it.

Also, whoever wrote this regular expression should be taken
out and slapped with a wet fish, for it is abominable and
unlikely to look much like what you actually want.


with code

 def readline(self):
self.line = self.file_in.readline().rstrip()
if (len(self.line)) : return True
else : return False

 while (self.readline()):
words = self.pattern_main.findall(self.line)


Um.  Yes.  Well.


This handles text file  like

// remark
PL_OFF
PARK
FS
MA  52.8806 ,  18.0914
SS
AD_W
PL_ON
C   52.3955 ,  -16.1511 ,  -90.

It handles file correctly with two exceptions

1) omits ',' in the a output


You don't do any output, so it's hard to correct that!


2) omits minus sign in the numbers...

Would anyone recommend me what to change regular expression to add  
thesee two

think to the output,please?


It would help considerably if you explained what "it handles file
correctly" means, since the regular expresion makes little sense
with the input you give.  What are you trying to extract from the
input, and what do you think you are getting at the moment?

--
Rhodri James *-* Wildebeest Herder to the Masses
--
http://mail.python.org/mailman/listinfo/python-list


Re: Multiple versions of python

2009-07-21 Thread CCW
On 21 July, 15:19, Dave Angel  wrote:
> ChrisW wrote:
> > Hi,
>
> > I have installed 2 versions of python on my Windows XP computer - I
> > originally had 3.0.1, but then found that the MySQL module only
> > supported 2.*, so I've now installed that.  I have found that if I
> > change the Windows Environment Variable path, then I can change the
> > version of python called when I type 'python' into a command line.
> > However, I'd like to be able to choose which version I use.  I know
> > that if I change C:\Python26\python.exe to
> > C:\Python26\python2.exe and C:\Python30\python.exe to C:
> > \Python26\python3.exe, then typing 'python2' or 'python3' will invoke
> > the correct interpreter.  However, is it safe just to rename the
> > executable files? Is there a more elegant way to achieve the same
> > task?
>
> > Thanks,
> > Chris
>
> The elegant way is to have a batch directory on your PATH ( I use  
> m:\t\bat )  and put your *.bat files there.   I do NOT put any python
> installations on the PATH.
>
> For example, I have a batch file called:     m:\t\bat\python26.bat
>
> c:\progfiles\python26\python.exe %*
>
> The %* syntax means pass all arguments through to the program.
>
> Once it all works, you can add an "@" in front of the c:   in order to
> suppress echoing the command.  At that point, it'll look and work the
> same way as what you did, but without modifying anything in the install
> directory.    (You may want  python26.bat, pythonw26.bat, python31.bat
> and pythonw31.bat)
>
> The other thing you may want to do in a batch file is to change the file
> associations so that you can run the .py file directly, without typing
> "python" or "pythonw" in front of it.
>
> The relevant Windows commands are:     assoc and ftype      And on a
> related note, you may want to edit the PATHEXT environment variable, to
> add .PY and .PYW

Thanks for this - this way made a bit more sense to me.  I've now got
C:\commands with the 4 .bat files in, and C:\commands in my path.  It
all seems to work :) I think I've missed the point of the @ though -
it doesn't seem to make any difference..

I'm also a bit confused with the associations - since I've got python
2.6 and 3.1, surely the command I type (python26 or python31) is the
only way to force a script to be run using a specific interpreter at
runtime without having to change the .bat file every time I want to
run a script using 3.1 instead of 2.6?
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Workflow Libraries (DB vs Code)

2009-07-21 Thread Diez B. Roggisch
Thomas Guettler wrote:

> Hi,
> 
> I need to write some simple workflows with web interface.
> 
> For the web stuff I will use django, but I am not sure how
> to do the workflow part.

Did you consider using OpenERP? It comes with a web-frontend
(TG1.0.8-based), but also offers a XMLRPC-server to connect to, so using it
from within django shouldn't be any difficult.

Workflow-definitions are stored in the DB, and can be generated visually,
not sure if they have to though.

I'm not very familiar with the system myself, but the EuroPython
presentation was truly impressive.

Diez
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: python function for retrieving key and encryption

2009-07-21 Thread Piet van Oostrum
> jayshree  (j) wrote:

>j> M2Crypto package not showing the 'recipient_public_key.pem' file at
>j> linux terminal .how do i get/connect with recipient public key.

>j> exactly i need to check how can i open this file through linux
>j> commands.

>j> import M2Crypto def encrypt(): recip = M2Crypto.RSA.load_pub_key(open
>j> ('recipient_public_key.pem','rb').read()) print recip; plaintext =
>j> whatever i need to encrypt msg = recip.public_encrypt
>j> (plaintext,RSA.pkcs1_padding) print msg;

>j> after calling the function its not giving any output and even any
>j> error

>j> i also tried as 'Will' said

>j> pk = open('public_key.pem','rb').read() print pk; rsa =
>j> M2Crypto.RSA.load_pub_key(pk)

>j> whats the mistake i am not getting .will somebody help me out.
>j> is something wrong in opening 'recipient_public_key.pem'. is M2Crypto
>j> contain this file inbuilt .from where this file taking public key of
>j> the recipient i'. what this file contain and how it will work .should
>j> i need to create such a file for my purpose.if it is then how can i
>j> create this  and how it will retrieve the key,where i recognize my
>j> recipient to get his public key .is something like database at server.

>j> please give me a quick response..
>j> looking for your answer.

Please:
1. Type your python code with newlines and proper indentation.
2. Show the error messages that your code gives when you run it.
3. Use proper capital letters at the beginning of your sentences.
4. Don't fire so many questions in rapid succession.

The recipient_public_key.pem file is the public key of the recipient
which means the person that is going to receive the encrypted message.
You should get it from the recipient him/herself or from some key store
where s/he has deposited it.
-- 
Piet van Oostrum 
URL: http://pietvanoostrum.com [PGP 8DAE142BE17999C4]
Private email: p...@vanoostrum.org
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: PIL for OSX 64bit

2009-07-21 Thread Ned Deily
In article 
,
 moerchendiser2k3  wrote:
> I have a problem with Python and the Python Image Library to get it
> work on OSX 64 bit. Maybe anyone can help me? I started Python in 64
> bit mode and called Image.open(...).load() and got:
> 
> ImportError: The _imaging C module is not installed
[...]

It's hard to know what your problem is without more information.  One 
potential stumbling block: PIL has dependencies on other open-source 
libraries, such as libjpeg and freetype.  You'll need to have 64-bit 
versions of them available when building and when running, as well.  
There are a number of ways to do that.  The simplest might be to 
download pre-built frameworks containing those libraries from here:

http://www.kyngchaos.com/software:frameworks

There are also build scripts there for building your own versions from 
scratch.

-- 
 Ned Deily,
 n...@acm.org

-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Regular expression

2009-07-21 Thread Peter Fodrek


21.7.2009 v 16:50, MRAB:


Peter Fodrek wrote:

Dear conference!
I have  third party regular expression
self.pattern_main = re.compile('(\s+|\w(?:[+])?\d*(?:\.\d*)?|\w\#\d 
+|\(.*?\)|

\#\d+\=(?:[+])?\d*(?:\.\d*)?)')

[snip]

It handles file correctly with two exceptions
1) omits ',' in the a output
2) omits minus sign in the numbers...
Would anyone recommend me what to change regular expression to add  
thesee two think to the output,please?


self.pattern_main = re.compile(r'(\s+|,|-?\w\+?\d*(?:\.\d*)?|\w#\d+|\ 
(.*?\)|#\d+=\+?\d*(?:\.\d*)?)')


Thank you I will try yesterday...

Peter 
--

http://mail.python.org/mailman/listinfo/python-list


Issue combining gzip and subprocess

2009-07-21 Thread Iwan Vosloo
Hi there,

We tried to gzip the output of a shell command, but this results in a
strange error: the resulting file seems to be the concatenation of the
plaintext file with the zipped content.

For example:

f = gzip.open(filename, 'w')
subprocess.check_call(['ls','-la'], stdout=f)
f.close()

Using a normal file works as expected, but a GzipFile results in a file
containing what looks like the unzipped data, followed by the zipped
data.

I suspect this may have something to do with limitations of GzipFile
such as it not implementing truncate().

Does anyone have an explanation / can you suggest a nice solution for
doing what we are trying to do?

Regards
- Iwan

-- 
http://mail.python.org/mailman/listinfo/python-list


Re: any suggestions to synchronize typed text and speech ?

2009-07-21 Thread Stef Mientki

hi Marcus,
That sounds like a very specialized type of thing, 

Well from an application point of view,
with the current netbooks,
this looks like a perfect tool for any conversation or meeting.
which only the few people with experience with wxPython, PyAudio, 
and Scintilla could help you with...



I was afraid of that too, so I dropped the question in several places,
and the writer of Scintilla himself came with the perfect answer.

cheers,Stef
But you might try having a dictionary with notes and associated 
times, or just give each note a four-digit ID number at the 
beginning of it when it's entered and use that in the dictionary (to 
keep keys shorter). Or you could just do a little hack and increase 
the number of bookmarks allowed (seeing as source is available) :p


Marcus


Glad you got a good answer from somebody. Sounds like an interesting 
project. About when would this be headed for a release? Could you post 
a link to a googlecode or sourceforge project or something so I can 
follow and/or help with development?



For the moment it's just an idea, so no line of code yet.
I first like to tackle all the problems,
at least to the level I think I can handle them.
So first solve the next problem,
before I start coding:
automatic synchronization (file uploading and deleting) between EEE-pc 
and desktop PC over bluetooth.

And another problem, as my customers are physicians,
both the text and audio need to be stored encrypted.

cheers,
Stef

Marcus


--
http://mail.python.org/mailman/listinfo/python-list


Re: Help understanding the decisions *behind* python?

2009-07-21 Thread Simon Forman
On Jul 20, 12:27 pm, Phillip B Oldham 
wrote:
> My colleagues and I have been working with python for around 6 months
> now, and while we love a lot of what python has done for us and what
> it enables us to do some of the decisions behind such certain
> data-types and their related methods baffle us slightly (when compared
> to the decisions made in other, similarly powerful languages).
>
> Specifically the "differences" between lists and tuples have us
> confused and have caused many "discussions" in the office. We
> understand that lists are mutable and tuples are not, but we're a
> little lost as to why the two were kept separate from the start. They
> both perform a very similar job as far as we can tell.
>
> Consider the following:
>
> >>> x = [2,1,3]
> >>> x.sort()
> >>> print x
>
> [1, 2, 3]
>
> Now, if the sort operations were unable to affect the original
> structure of the list (as in JavaScript) you'd effectively have a
> tuple which you could add/remove from, and the example above would
> look more like:
>
> >>> x = [2,1,3]
> >>> print x.sort()
> [1, 2, 3]
> >>> print x
>
> [2,1,3]
>
> This make a lot more sense to us, and follows the convention from
> other languages. It would also mean chaining methods to manipulate
> lists would be easier:
>
> >>> x = [2,1,3]
> >>> print x.sort()[0]
> 3

(As others have already pointed out this would print 1, not 3.)

> >>> print x
>
> [2,1,3]
>
> We often find we need to do manipulations like the above without
> changing the order of the original list, and languages like JS allow
> this. We can't work out how to do this in python though, other than
> duplicating the list, sorting, reversing, then discarding.

In this case you can use:

>>> x = [2,1,3]
>>> print min(x)
1

(There's also a max() function.)

> We're not looking to start any arguments or religious wars and we're
> not asking that python be changed into something its not. We'd simply
> like to understand the decision behind the lists and tuple structures.
> We feel that in not "getting" the difference between the two types we
> may be missing out on using these data structures to their full
> potential.


One way to think about tuples (as distinct from lists) is as a short-
hand version of Pascal's 'record' type, or C's 'struct' (with the
caveats that the fields are not named, only indexed, and the types of
the fields are implied by use, not explicitly declared.)

(FWIW: http://en.wikipedia.org/wiki/Record_(computer_science) )

Broadly speaking, lists are useful for things like stacks and queues,
and sorting, while tuples are useful for aggregating heterogeneous
data into coherent units, and you can hash them (provided their
contents are also hashable.)

HTH,
~Simon
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: If Scheme is so good why MIT drops it?

2009-07-21 Thread Frank Buss
Rainer Joswig wrote:

> I'm not sure if it is fair to post a reference to a single
> post by someone without context and without having used ECL.
> If there are stability problems, people can report to the
> ECL mailing list. The maintainers are very active.

This was just one example. Another one:

http://www.mail-archive.com/application-buil...@lispniks.com/msg01024.html

Luke and Elliott are no beginners, so it is at least difficult to use ECL:
On Windows it doesn't work with MinGW and on MacOS X there was at least one
case were it freezed. But as I have written, I didn't tried it myself, so
this is only some second hand experience. Maybe it is all wrong setups in
combination with Lispbuilder and ECL itself is stable, I don't know.

But I know that it is much easier to get a full featured running Python
system on Windows, MacOS X and Linux, so this is something where Lisp
distributions could be improved.

-- 
Frank Buss, f...@frank-buss.de
http://www.frank-buss.de, http://www.it4-systems.de
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Pep 342 (val = yield MyGenerator(foo)), synchronous os.system() that doesn't block gui event loops

2009-07-21 Thread John Nagle

Ville Vainio wrote:

Has anyone implementing something like what the subject line
indicates?

The idea:

To run functions that execute a series of system commands without
blocking the ui, *and* without adding state machine logic.


   At some level, there's going to be state machine logic.
You need interlocking so that the user can't initiate
simultaneous conflicting background operations from the GUI.

   The usual solution is to run the background operations
in another thread, and have them put events on a queue
read by the GUI task.

   You also have to work out how to cancel background operations,
if they're going to be as big as a "make".

   Here's the very first application which did this sort of thing,
running commands in multiple threads without blocking the user
interface thread.  This is from 1972.

   http://www.fourmilab.ch/documents/univac/fang/

   And yes, it did properly interlock everything it was
doing in the background.

John Nagle
--
http://mail.python.org/mailman/listinfo/python-list


Re: Issue combining gzip and subprocess

2009-07-21 Thread Piet van Oostrum
> Iwan Vosloo  (IV) wrote:

>IV> Hi there,
>IV> We tried to gzip the output of a shell command, but this results in a
>IV> strange error: the resulting file seems to be the concatenation of the
>IV> plaintext file with the zipped content.

>IV> For example:

>IV> f = gzip.open(filename, 'w')
>IV> subprocess.check_call(['ls','-la'], stdout=f)
>IV> f.close()

>IV> Using a normal file works as expected, but a GzipFile results in a file
>IV> containing what looks like the unzipped data, followed by the zipped
>IV> data.

>IV> I suspect this may have something to do with limitations of GzipFile
>IV> such as it not implementing truncate().

>IV> Does anyone have an explanation / can you suggest a nice solution for
>IV> doing what we are trying to do?

stdout (and the others) must be None, PIPE or a real file object or file
descriptor, not a file like object. In your case the solution would be
to use PIPE, and then read the output and write in to the GzipFile
yourself. 

f = gzip.open(filename, 'w')
proc = subprocess.Popen(['ls','-la'], stdout=subprocess.PIPE)
while True:
line = proc.stdout.readline()
if not line: break
f.write(line)
f.close()

-- 
Piet van Oostrum 
URL: http://pietvanoostrum.com [PGP 8DAE142BE17999C4]
Private email: p...@vanoostrum.org
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: win32api install problem

2009-07-21 Thread Tim Golden

MCIPERF wrote:

On Jul 20, 9:57 am, Tim Golden  wrote:

Gerry wrote:

I'm running Python 2.6 under XP.
I've installed Windows 32 extensions for Python 2.6 version 1.4
(pywin32-214.win32-py2.6.exe).
But If I try to import win32api, I get:
  File "C:\python_projects\euler\driveletters.py", line 1, in 
import win32api
ImportError: DLL load failed: The specified module could not be found.

Used to be you'd get this error if you installed as a
non-admin user. Don't know if that's still an issue.
Possibility?

TJG


Not a possibility (afaict) -- I am an administrator, according to the
control panel.


Not too many ideas, then, I'm afraid. Apart from the obvious --
uninstall and try again -- how about running Python with the
-vv option:

python -vv

to get more information about what it's trying to get, 
and/or running sysinternal's Process Explorer at the

same time to spot the DLL Dependencies.

I have seen a (not too similar) problem when running TortoiseHg
and the pywin32 extensions, since the shell import's TortoiseHg's
version of various pywin32 DLLs before I try to import them
myself for some other purpose, and the two versions clashed
dramatically (crashed Explorer hard, I seem to remember).

Just in case that rings any bells..

TJG
--
http://mail.python.org/mailman/listinfo/python-list


Re: Regular expression

2009-07-21 Thread Jean-Michel Pichavant

Rhodri James wrote:
On Tue, 21 Jul 2009 14:30:47 +0100, Peter Fodrek 
 wrote:



Dear conference!

I have  third party regular expression

 self.pattern_main = 
re.compile('(\s+|\w(?:[+])?\d*(?:\.\d*)?|\w\#\d+|\(.*?\)|

\#\d+\=(?:[+])?\d*(?:\.\d*)?)')


Also, whoever wrote this regular expression should be taken
out and slapped with a wet fish, for it is abominable and
unlikely to look much like what you actually want.


Here, take that fish and please, hit really hard !

** ;'-. 
`;-._)  '---.._

  >  `-.__.-'  `'.__
 /_.-'-._ _,   ^ ---)
 `   `'--/_.'``


JM
**

--
http://mail.python.org/mailman/listinfo/python-list


Re: If Scheme is so good why MIT drops it?

2009-07-21 Thread Tim Bradshaw

On 2009-07-19 19:31:36 +0100, Frank Buss  said:


(e.g. I
don't know of a free modern and stable Lisp implemenation with
mulithreading support for Windows, with a licence with which you can use it
in closed source commercial programs, like you can do with Python).


Openmcl seems reasonably stable to me, is LLGPL-licensed, and runs on 
these platforms and Solaris x86.


It's kind of tragic, of course, that this kind of parasitic behaviour 
(will not consider a commercial product to use in your commercial 
system) has now become so common.


--
http://mail.python.org/mailman/listinfo/python-list


Re: clean way prepend an element to a numpy array

2009-07-21 Thread Robert Kern

On 2009-07-20 22:56, bdb112 wrote:

If I want to add an element at the beginning of an array, it seems
like I must make a list, insert in place, then make an array again.


the_array = numpy.concatenate([new_value, the_array])

You will want to ask numpy questions on the numpy mailing list.

  http://www.scipy.org/Mailing_Lists

--
Robert Kern

"I have come to believe that the whole world is an enigma, a harmless enigma
 that is made terrible by our own mad attempt to interpret it as though it had
 an underlying truth."
  -- Umberto Eco

--
http://mail.python.org/mailman/listinfo/python-list


Re: Regular expression

2009-07-21 Thread Rhodri James
On Tue, 21 Jul 2009 17:12:53 +0100, Peter Fodrek   
wrote:



21.7.2009 v 17:39, Rhodri James:

On Tue, 21 Jul 2009 14:30:47 +0100, Peter Fodrek > wrote:


[snipped for space]


This handles text file  like

// remark
PL_OFF
PARK
FS
MA  52.8806 ,  18.0914
SS
AD_W
PL_ON
C   52.3955 ,  -16.1511 ,  -90.

It handles file correctly with two exceptions

1) omits ',' in the a output


You don't do any output, so it's hard to correct that!


for line

C   52.3955 ,  -16.1511 ,  -90.

it returns (as I remember)

('C', ' ', '52.3955', ' ', ' ', ' 16.1511', ' ', ' ','90.0')

I was to get (number and positions of empty strings are not related to  
me. I can add, remove then as you wish)


('C', ' ', '52.3955', ' ', ' ,', ' -16.1511', ' ', ' ,','-90.0')


If whitespace isn't an issue and the format really is as simple as
your example, you don't need the full power of a regular expression
here.  split() would do the trick:

words = self.line.split()

will return what you want for that example.  It will produce different
(but more consistent) results than the regular expression for other lines,
though: for example,

MA  52.8806 , 18.0914

when put through the regular expression (if fixed for commas) would give  
you


('M', 'A', '  ', '52.8806', ' ', ',', ' ', '18.0914')

as against

['MA', '52.8806', ',', '18.0914']

I use eval call in python to do format conversion, so just parsing is  
problem


float() might be better than eval(), if you know for sure that you are
expecting floats.

--
Rhodri James *-* Wildebeest Herder to the Masses
--
http://mail.python.org/mailman/listinfo/python-list


Re: are user defined classes hashable?

2009-07-21 Thread Hyuga
On Jul 20, 10:53 pm, a...@pythoncraft.com (Aahz) wrote:
> In article <373d6c69-6965-4a88-bdd2-8028ef850...@k6g2000yqn.googlegroups.com>,
>
> Hyuga   wrote:
>
> >Regardless, Nicolas's example can be applied to the class too:
>
>  class Foo(object):
> >    pass
>
>  hash(Foo)
> >11443104
>  id(Foo)
> >11443104
>
> >class objects are just objects of type 'type'.
>
> Not quite.  They certainly default that way, but changing the metaclass
> changes a class's type::
>
> class M(type):
>     pass
>
> class C(object):
>     pass
>
> class C2(object):
>     __metaclass__ = M
>
> print type(C)
> print type(C2)

Well, okay, you got me there.  But the OP wasn't asking about classes
with different metaclasses.  And besides, type(type(C2)) is still
type ;)
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: ANN: Shed Skin 0.2, an experimental (restricted) Python-to-C++ compiler

2009-07-21 Thread Terry Reedy

Nick Craig-Wood wrote:


I tried it on a program I wrote to solve a puzzle (Rush Hour).
(Actually it solves the meta-puzzle - trying to make the hardest
possible Rush Hour puzzle.)

After a bit of twiddling (remove psyco and profiling) I got it to
start compiling, but unfortunately it compiled for about an hour (in
iterative type analysis..) used up 600 MB of RAM printing an '*' every
10 minutes or so then gave an error message and gave up.

Unfortunately I shut the window by accident, but the error message was
something about not being able to resolve types I think with a list of
20 or so unresolved types.

Can you give a hint as to how I debug this?  I presume my program has
some instances of non static types which is causing the problem, but
it is going to be a very long debugging session if it takes me an hour
each cycle ;-)

The program is about 700 lines of python (excluding comments).


Split it into pieces and compile each separately.
Recurse.

tjr

--
http://mail.python.org/mailman/listinfo/python-list


setuptools question.

2009-07-21 Thread Fred C


I have a python program and when I install this program from the  
module home directory using setup.py everything works fine.


But easy_install fails with the following error, because I am trying  
to install some start up shell scripts into /etc/init.d


> The package setup script has attempted to modify files on your system
>that are not within the EasyInstall build area, and has been aborted.

Is there a way to use easy_install to install the start scripts into / 
etc/init.d. If not, what is the best way to install these scripts.


Thanks

-fred-


--
http://mail.python.org/mailman/listinfo/python-list


Re: Pep 342 (val = yield MyGenerator(foo)), synchronous os.system() that doesn't block gui event loops

2009-07-21 Thread Terry Reedy



Ville Vainio wrote:

Has anyone implementing something like what the subject line
indicates?


Your subject line is so long that it is cut off even on my wide screen.
Better to repeat the question in the body.

--
http://mail.python.org/mailman/listinfo/python-list


Re: Running a Python Service under the LocalService or NetworkService Account

2009-07-21 Thread Martin P. Hellwig

David Adamo Jr. wrote:

On Jul 21, 10:40 am, "Martin P. Hellwig" 
wrote:

sightseer wrote:




Error Installing Service: Access is Denied. (5)


Are you trying to do this on windows vista?

--
MPHhttp://blog.dcuktec.com
'If consumed, best digested with added seasoning to own preference.'


Yeah, I was trying to do it on Vista. Someone has just helped me out.
I had to deactivate User Account Control on Windows Vista...and now
everything is rosy. Thanks guys.


No need to deactivate it, just right click on the command shell program 
and say run as administrator, than you can install the service via the 
command line.


--
MPH
http://blog.dcuktec.com
'If consumed, best digested with added seasoning to own preference.'
--
http://mail.python.org/mailman/listinfo/python-list


List insertion cost

2009-07-21 Thread Lucas P Melo

Hello,
I would like to know how much it costs to insert an element into a list 
using this operation:

a[2:2] = [ 1 ]
i. e, what is the complexity of the operation above (given that len(a) = n)?

Thanks.
--
http://mail.python.org/mailman/listinfo/python-list


Re: List insertion cost

2009-07-21 Thread Daniel Stutzbach
On Tue, Jul 21, 2009 at 2:21 PM, Lucas P Melo  wrote:

> I would like to know how much it costs to insert an element into a list
> using this operation:
> a[2:2] = [ 1 ]
> i. e, what is the complexity of the operation above (given that len(a) =
> n)?
>

O(n)

If you want O(log n), you can use the blist extension type from
http://pypi.python.org/pypi/blist/

--
Daniel Stutzbach, Ph.D.
President, Stutzbach Enterprises, LLC 
-- 
http://mail.python.org/mailman/listinfo/python-list


Pyserial and pyQt

2009-07-21 Thread Seth

I have used pyserial in the past but this is my first experience with
pyQt.  I am using the Python xy package for windows current but might
move to linux.  I have a small device that is outputting a basic text
string.  I want to be able to read this string(from the comm port) and
update a text box and eventually a graph in pyQt.  I can't find any
documentation or tutorials on how to do this.  If anyone can point me
in the right direction or give me some tips I would be grateful.

Thanks,
Seth
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: List insertion cost

2009-07-21 Thread Robert Kern

On 2009-07-21 14:21, Lucas P Melo wrote:

Hello,
I would like to know how much it costs to insert an element into a list
using this operation:
a[2:2] = [ 1 ]
i. e, what is the complexity of the operation above (given that len(a) =
n)?


O(n). Python lists are contiguous arrays in memory, and everything after the 
insertion point needs to be moved. Raymond Hettinger has a good talk about the 
implementation of Python lists and other container objects.


http://www.youtube.com/watch?v=hYUsssClE94
http://www.pycon.it/static/stuff/slides/core-python-containers-under-hood.ppt

--
Robert Kern

"I have come to believe that the whole world is an enigma, a harmless enigma
 that is made terrible by our own mad attempt to interpret it as though it had
 an underlying truth."
  -- Umberto Eco

--
http://mail.python.org/mailman/listinfo/python-list


Re: List insertion cost

2009-07-21 Thread Lucas P Melo

Robert Kern wrote:
O(n). Python lists are contiguous arrays in memory, and everything 
after the insertion point needs to be moved. Raymond Hettinger has a 
good talk about the implementation of Python lists and other container 
objects.


http://www.youtube.com/watch?v=hYUsssClE94
http://www.pycon.it/static/stuff/slides/core-python-containers-under-hood.ppt 


Thanks. :)

--
http://mail.python.org/mailman/listinfo/python-list


Changing the private variables content

2009-07-21 Thread Ryniek90

Hi.
I'm writing some class, and decided to use inside private method and 
some private variables. While with method i haven't got any problem's 
with variables i have.

Maybe some example.
A class with private method and private variable:

"
>>> class Secret(object):
   #
   def __init__(self):
   self._number = 1
   #
   def _secret(self):
   print self._number
   def showit(self):
   print "Secret number is:\n"
   self._secret()

>>> sec = Secret()
>>> sec.showit()
Secret number is:

1
>>> sec._number
1
>>> sec._number = 2
>>> sec._number
2
>>> sec._number += 3
>>> sec._number
5
>>>
"

As You can see, i made class with private method and private variable 
inside __init__ constructor. I've changed also the variable value, but 
outside class.
I've got problem with changing some variable value _inside__my_ class, 
which i'm writing.
I've searched over google, some tuts with topics about operations on 
private variables, but didn't found anything - only how to make them, 
but no how to assign new objects/override them with new content (and 
other advanced and helpful options).


If someone could help me, it would be great.

Thanks.
--
http://mail.python.org/mailman/listinfo/python-list


time.strftime('%m-%d-%Y %H:%m:%S') to log is out of order

2009-07-21 Thread davidj411
I am using a recursive function to print the time and a few other
things on each pass. ( the function calculates size of file that is
being transferred and if not 100 % copied, it waits 20 secs and checks
again).

i would expect the time to be correct anytime it is used:

<--code below -->>
print time.strftime('%m-%d-%Y %H:%m:%S')
<--code above -->>

here is an example of what i am seeing:

16:07:16
16:07:36
16:07:56
16:07:16
16:07:36
16:07:56
16:07:16
16:07:36
16:07:56
-- 
http://mail.python.org/mailman/listinfo/python-list


Balanced binary tree implementation

2009-07-21 Thread Lucas P Melo

Hello,

I would like to use a balanced binary tree implementation (preferably 
within some API).

Any hints about where I could find it?

I am looking for something that implements insertion, deletion, search 
and a special search that returns the lesser element bigger than a given 
key [1].


A nice possibility would be an extensible API that allows me to inherit 
its classes and to add operations myself.


Thanks in advance.

[1] Ex: 1 2 3 4 5 6 are elements of the bbt. If I use this operation 
given 4 as the parameter, the value returned would be 5.

--
http://mail.python.org/mailman/listinfo/python-list


Re: time.strftime('%m-%d-%Y %H:%m:%S') to log is out of order

2009-07-21 Thread Jon Clements
On 21 July, 22:00, davidj411  wrote:
> I am using a recursive function to print the time and a few other
> things on each pass. ( the function calculates size of file that is
> being transferred and if not 100 % copied, it waits 20 secs and checks
> again).
>
> i would expect the time to be correct anytime it is used:
>
> <--code below -->>
> print time.strftime('%m-%d-%Y %H:%m:%S')
> <--code above -->>
>
> here is an example of what i am seeing:
>
> 16:07:16
> 16:07:36
> 16:07:56
> 16:07:16
> 16:07:36
> 16:07:56
> 16:07:16
> 16:07:36
> 16:07:56

I assume month, day and year are actually being output and that you've
removed it from your post.

Err, what else do you expect to happen if you're doing this
recursively?
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Changing the private variables content

2009-07-21 Thread Gary Herron

Ryniek90 wrote:

Hi.
I'm writing some class, and decided to use inside private method and 
some private variables. While with method i haven't got any problem's 
with variables i have.

Maybe some example.
A class with private method and private variable:

"
>>> class Secret(object):
   #
   def __init__(self):
   self._number = 1
   #
   def _secret(self):
   print self._number
   def showit(self):
   print "Secret number is:\n"
   self._secret()

>>> sec = Secret()
>>> sec.showit()
Secret number is:

1
>>> sec._number
1
>>> sec._number = 2
>>> sec._number
2
>>> sec._number += 3
>>> sec._number
5
>>>
"

As You can see, i made class with private method and private variable 
inside __init__ constructor. I've changed also the variable value, but 
outside class.
I've got problem with changing some variable value _inside__my_ class, 
which i'm writing.


Not sure this is what you are asking, but a method (which is how I 
interpret "_inside__my_ class") changes the value by normal assignment 
like this:


class Secret(object):
 ...
 def SetNumber(self,value):
   self._number = value

Is that what you were asking?


Gary Herron



I've searched over google, some tuts with topics about operations on 
private variables, but didn't found anything - only how to make them, 
but no how to assign new objects/override them with new content (and 
other advanced and helpful options).


If someone could help me, it would be great.

Thanks.


--
http://mail.python.org/mailman/listinfo/python-list


Re: time.strftime('%m-%d-%Y %H:%m:%S') to log is out of order

2009-07-21 Thread Simon Forman
On Jul 21, 5:00 pm, davidj411  wrote:
> I am using a recursive function to print the time and a few other
> things on each pass. ( the function calculates size of file that is
> being transferred and if not 100 % copied, it waits 20 secs and checks
> again).
>
> i would expect the time to be correct anytime it is used:
>
> <--code below -->>
> print time.strftime('%m-%d-%Y %H:%m:%S')
> <--code above -->>
>
> here is an example of what i am seeing:
>
> 16:07:16
> 16:07:36
> 16:07:56
> 16:07:16
> 16:07:36
> 16:07:56
> 16:07:16
> 16:07:36
> 16:07:56

Your output doesn't match your format string:

In [1]: import time

In [2]: print time.strftime('%m-%d-%Y %H:%m:%S')
07-21-2009 17:07:16

There's no way to tell why your output times seem to repeat without
seeing the code that surrounds your "print time.strftime('%m-%d-%Y %H:
%m:%S')" line.

-- 
http://mail.python.org/mailman/listinfo/python-list


Re: time.strftime('%m-%d-%Y %H:%m:%S') to log is out of order

2009-07-21 Thread Piet van Oostrum
> davidj411  (d) wrote:

>d> I am using a recursive function to print the time and a few other
>d> things on each pass. ( the function calculates size of file that is
>d> being transferred and if not 100 % copied, it waits 20 secs and checks
>d> again).

>d> i would expect the time to be correct anytime it is used:

>d> <--code below -->>
>d> print time.strftime('%m-%d-%Y %H:%m:%S')
>d> <--code above -->>

>d> here is an example of what i am seeing:

>d> 16:07:16
>d> 16:07:36
>d> 16:07:56
>d> 16:07:16
>d> 16:07:36
>d> 16:07:56
>d> 16:07:16
>d> 16:07:36
>d> 16:07:56

You probably meant: print time.strftime('%m-%d-%Y %H:%M:%S')
-- 
Piet van Oostrum 
URL: http://pietvanoostrum.com [PGP 8DAE142BE17999C4]
Private email: p...@vanoostrum.org
-- 
http://mail.python.org/mailman/listinfo/python-list


doted filenames in import statements

2009-07-21 Thread Jean-Michel Pichavant

Hi fellows,

I'd like to use the dynamic __import__ statement. It works pretty well 
with non dotted names, but I cannot figure how to make it work with 
dotted file paths.


example:

file = "/home/dsp/test.py"
test = __import__(file)

works like a charm

file = "/home/dsp/4.6.0.0/test.py"
test = __import__(file)
=> no module name blalalal found.

Any suggestion ? I tried multiple escape technics without any success.

JM

--
http://mail.python.org/mailman/listinfo/python-list


Re: time.strftime('%m-%d-%Y %H:%m:%S') to log is out of order

2009-07-21 Thread Jon Clements
On 21 July, 22:38, Piet van Oostrum  wrote:
> > davidj411  (d) wrote:
> >d> I am using a recursive function to print the time and a few other
> >d> things on each pass. ( the function calculates size of file that is
> >d> being transferred and if not 100 % copied, it waits 20 secs and checks
> >d> again).
> >d> i would expect the time to be correct anytime it is used:
> >d> <--code below -->>
> >d> print time.strftime('%m-%d-%Y %H:%m:%S')
> >d> <--code above -->>
> >d> here is an example of what i am seeing:
> >d> 16:07:16
> >d> 16:07:36
> >d> 16:07:56
> >d> 16:07:16
> >d> 16:07:36
> >d> 16:07:56
> >d> 16:07:16
> >d> 16:07:36
> >d> 16:07:56
>
> You probably meant: print time.strftime('%m-%d-%Y %H:%M:%S')
> --
> Piet van Oostrum 
> URL:http://pietvanoostrum.com[PGP 8DAE142BE17999C4]
> Private email: p...@vanoostrum.org

Good spot!
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: time.strftime('%m-%d-%Y %H:%m:%S') to log is out of order

2009-07-21 Thread davidj411
On Jul 21, 5:29 pm, Simon Forman  wrote:
> On Jul 21, 5:00 pm, davidj411  wrote:
>
>
>
>
>
> > I am using a recursive function to print the time and a few other
> > things on each pass. ( the function calculates size of file that is
> > being transferred and if not 100 % copied, it waits 20 secs and checks
> > again).
>
> > i would expect the time to be correct anytime it is used:
>
> > <--code below -->>
> > print time.strftime('%m-%d-%Y %H:%m:%S')
> > <--code above -->>
>
> > here is an example of what i am seeing:
>
> > 16:07:16
> > 16:07:36
> > 16:07:56
> > 16:07:16
> > 16:07:36
> > 16:07:56
> > 16:07:16
> > 16:07:36
> > 16:07:56
>
> Your output doesn't match your format string:
>
> In [1]: import time
>
> In [2]: print time.strftime('%m-%d-%Y %H:%m:%S')
> 07-21-2009 17:07:16
>
> There's no way to tell why your output times seem to repeat without
> seeing the code that surrounds your "print time.strftime('%m-%d-%Y %H:
> %m:%S')" line.

sorry, yes, i did manually filter the output.

here is the function:

def log_out(msg,servername='std.out'):
print msg
open(log_dir + '\\' + servername + ".log",'a').write(servername + "-"
+ time.strftime('%m-%d-%Y %H:%M:%S') + " " + msg+'\n')

on each pass, it should output the newer time (whether recursive or
not, right) ?
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: doted filenames in import statements

2009-07-21 Thread Chris Rebert
On Tue, Jul 21, 2009 at 2:42 PM, Jean-Michel
Pichavant wrote:
> Hi fellows,
>
> I'd like to use the dynamic __import__ statement. It works pretty well with
> non dotted names, but I cannot figure how to make it work with dotted file
> paths.
>
> example:
>
> file = "/home/dsp/test.py"
> test = __import__(file)
>
> works like a charm
>
> file = "/home/dsp/4.6.0.0/test.py"
> test = __import__(file)
> => no module name blalalal found.
>
> Any suggestion ? I tried multiple escape technics without any success.

You want the imp.load_module() function:
http://docs.python.org/library/imp.html#imp.load_module

__import__() only operates on module/package names. I'm not sure how
you even got it to work with a filename...

Cheers,
Chris
-- 
http://blog.rebertia.com
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Changing the private variables content

2009-07-21 Thread Rhodri James

On Tue, 21 Jul 2009 21:55:18 +0100, Ryniek90  wrote:


Hi.
I'm writing some class, and decided to use inside private method and  
some private variables. While with method i haven't got any problem's  
with variables i have.


There is no mechanism in Python that makes attributes truly private.
self._number is an attribute just like any other, the whole business
with _leading_underscores is purely a matter of convention.  If you
have an instance attribute or method with a leading underscore, you
know that using it or calling it isn't something you're supposed
to do outside its class, but nothing will stop you doing exactly that
if you're rude enough to try.

Does that help?

--
Rhodri James *-* Wildebeest Herder to the Masses
--
http://mail.python.org/mailman/listinfo/python-list


Re: time.strftime('%m-%d-%Y %H:%m:%S') to log is out of order

2009-07-21 Thread MRAB

davidj411 wrote:

On Jul 21, 5:29 pm, Simon Forman  wrote:

On Jul 21, 5:00 pm, davidj411  wrote:






I am using a recursive function to print the time and a few other
things on each pass. ( the function calculates size of file that is
being transferred and if not 100 % copied, it waits 20 secs and checks
again).
i would expect the time to be correct anytime it is used:
<--code below -->>
print time.strftime('%m-%d-%Y %H:%m:%S')
<--code above -->>
here is an example of what i am seeing:
16:07:16
16:07:36
16:07:56
16:07:16
16:07:36
16:07:56
16:07:16
16:07:36
16:07:56

Your output doesn't match your format string:

In [1]: import time

In [2]: print time.strftime('%m-%d-%Y %H:%m:%S')
07-21-2009 17:07:16

There's no way to tell why your output times seem to repeat without
seeing the code that surrounds your "print time.strftime('%m-%d-%Y %H:
%m:%S')" line.


sorry, yes, i did manually filter the output.

here is the function:

def log_out(msg,servername='std.out'):
print msg
open(log_dir + '\\' + servername + ".log",'a').write(servername + "-"
+ time.strftime('%m-%d-%Y %H:%M:%S') + " " + msg+'\n')

on each pass, it should output the newer time (whether recursive or
not, right) ?


Maybe it does, but you were outputting the month ("07") instead of the
minutes; the seconds were changing.
--
http://mail.python.org/mailman/listinfo/python-list


Re: Balanced binary tree implementation

2009-07-21 Thread Piet van Oostrum
> Lucas P Melo  (LPM) wrote:

>LPM> Hello,
>LPM> I would like to use a balanced binary tree implementation (preferably
>LPM> within some API).
>LPM> Any hints about where I could find it?

>LPM> I am looking for something that implements insertion, deletion, search and
>LPM> a special search that returns the lesser element bigger than a given key
>LPM> [1].

>LPM> A nice possibility would be an extensible API that allows me to inherit 
>its
>LPM> classes and to add operations myself.

>LPM> Thanks in advance.

>LPM> [1] Ex: 1 2 3 4 5 6 are elements of the bbt. If I use this operation given
>LPM> 4 as the parameter, the value returned would be 5.

http://newcenturycomputers.net/projects/rbtree.html (warning: see end of
page!)

http://pypi.python.org/pypi/rbtree/

http://pyavl.sourceforge.net/

http://code.activestate.com/recipes/576817/
-- 
Piet van Oostrum 
URL: http://pietvanoostrum.com [PGP 8DAE142BE17999C4]
Private email: p...@vanoostrum.org
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: time.strftime('%m-%d-%Y %H:%m:%S') to log is out of order

2009-07-21 Thread Piet van Oostrum
> davidj411  (d) wrote:
>>> 
>>> > <--code below -->>
>>> > print time.strftime('%m-%d-%Y %H:%m:%S')
>>> > <--code above -->>

>d> here is the function:

>d> def log_out(msg,servername='std.out'):
>d> print msg
>d> open(log_dir + '\\' + servername + ".log",'a').write(servername + "-"
>d> + time.strftime('%m-%d-%Y %H:%M:%S') + " " + msg+'\n')

>d> on each pass, it should output the newer time (whether recursive or
>d> not, right) ?

How come your strftime is now different from the first posting? Are you
cheating? 

If you want to ask a question about why your code is not working
properly there are a few important rules:

1. Copy and paste your code, and at least all relevant stuff (preferably
   a minimal example that shows the problem). *DO NOT RETYPE THE CODE*

2. Copy and paste the output. *DO NOT RETYPE THE OUTPUT*

3. Tell what the expected or desired output is.
-- 
Piet van Oostrum 
URL: http://pietvanoostrum.com [PGP 8DAE142BE17999C4]
Private email: p...@vanoostrum.org
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: doted filenames in import statements

2009-07-21 Thread Piet van Oostrum
> Jean-Michel Pichavant  (JP) wrote:

>JP> Hi fellows,
>JP> I'd like to use the dynamic __import__ statement. It works pretty well with
>JP> non dotted names, but I cannot figure how to make it work with dotted file
>JP> paths.

What is a dotted file path? Is that 4.6.0.0?

>JP> example:

>JP> file = "/home/dsp/test.py"
>JP> test = __import__(file)

>JP> works like a charm

That's not supposed to work. In older pythons it did work but that's a
bug. In newer pythons it doesn't. __import__ works on module names, not
on file names.

Python 2.6:

>>> spam = __import__('/Users/piet/TEMP/test.py', globals(), locals(), [], -1)
Traceback (most recent call last):
  File "", line 1, in 
ImportError: Import by filename is not supported.
>>> 

>JP> file = "/home/dsp/4.6.0.0/test.py"
>JP> test = __import__(file)
>JP> => no module name blalalal found.

>JP> Any suggestion ? I tried multiple escape technics without any success.

Rightly so.

I think the best would be to add the directory to sys.path 
sys.path.add('/home/dsp/4.6.0.0')
and then
__import__('test', ... ) 
-- 
Piet van Oostrum 
URL: http://pietvanoostrum.com [PGP 8DAE142BE17999C4]
Private email: p...@vanoostrum.org
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: If Scheme is so good why MIT drops it?

2009-07-21 Thread Emile van Sebille

On 7/19/2009 4:35 PM Paul Rubin said...

Emile van Sebille  writes:

Most people would still consider Solaris to be a "major platform".

?? I do not, but I have no idea what comes in 4th after the other
three by whatever metric.

one metric calls fourth as the iPhone OS...
http://marketshare.hitslink.com/report.aspx?qprid=8...


That metric is clearly wrong.  The #1 platform OS platform in terms of
number of units shipped is Javacard, which is in the SIM cards of
billions of GSM phones.


Yes -- that location includes disclaimers on how they reach their 
conclusions.


--
http://mail.python.org/mailman/listinfo/python-list


Re: doted filenames in import statements

2009-07-21 Thread Christian Heimes
Chris Rebert wrote:
> You want the imp.load_module() function:
> http://docs.python.org/library/imp.html#imp.load_module
> 
> __import__() only operates on module/package names. I'm not sure how
> you even got it to work with a filename...

It used to work with filenames but it was a bug. I guess several people
are swearing curses on me for removing this 'feature'. *g*

Christian

-- 
http://mail.python.org/mailman/listinfo/python-list


Re: comments? storing a function in an object

2009-07-21 Thread Esmail

Thanks *everyone* for your help, and sharing your knowledge.

I had no idea that Python functions could have user defined
attributes, and I may now not even need the object to wrap
my functions in.

Amazing what one can learn here .. thanks again!

Esmail

--
http://mail.python.org/mailman/listinfo/python-list


Re: If Scheme is so good why MIT drops it?

2009-07-21 Thread Neil Hodgson
milanj:

> and all of them use native threads (python still use green threads ?)

   Python uses native threads.

   Neil
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Pyserial and pyQt

2009-07-21 Thread David Boddie
On Tuesday 21 July 2009 21:37, Seth wrote:

> I have used pyserial in the past but this is my first experience with
> pyQt.  I am using the Python xy package for windows current but might
> move to linux.  I have a small device that is outputting a basic text
> string.  I want to be able to read this string(from the comm port) and
> update a text box and eventually a graph in pyQt.  I can't find any
> documentation or tutorials on how to do this.  If anyone can point me
> in the right direction or give me some tips I would be grateful.

It seems that someone has already asked a similar question on Stack
Overflow, though perhaps you should start with a simpler solution
and look at more advanced ones later:

  http://stackoverflow.com/questions/771988/pyqt4-and-pyserial

One starting point is this list of tutorials on the PyQt and PyKDE Wiki:

  http://www.diotavelli.net/PyQtWiki/Tutorials

Later, when you want to draw graphs, you might find PyQwt useful:

  http://pyqwt.sourceforge.net/

You may already be aware that there's also a mailing list for PyQt and
PyKDE:

  http://www.riverbankcomputing.com/pipermail/pyqt/

Another way to get answers to questions is to join the #pyqt IRC channel
at freenode.net:

  irc://irc.freenode.net/

David
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: setuptools question.

2009-07-21 Thread David Lyon
On Tue, 21 Jul 2009 11:12:01 -0700, Fred C  wrote:
> I have a python program and when I install this program from the  
> module home directory using setup.py everything works fine.
> 
> But easy_install fails with the following error, because I am trying  
> to install some start up shell scripts into /etc/init.d
> 
>  > The package setup script has attempted to modify files on your system
>  >that are not within the EasyInstall build area, and has been aborted.
> 
> Is there a way to use easy_install to install the start scripts into / 
> etc/init.d. If not, what is the best way to install these scripts.

What package is it? what platform ?
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: time.strftime('%m-%d-%Y %H:%m:%S') to log is out of order

2009-07-21 Thread Simon Forman
On Jul 21, 5:53 pm, davidj411  wrote:
> On Jul 21, 5:29 pm, Simon Forman  wrote:
>
>
>
> > On Jul 21, 5:00 pm, davidj411  wrote:
>
> > > I am using a recursive function to print the time and a few other
> > > things on each pass. ( the function calculates size of file that is
> > > being transferred and if not 100 % copied, it waits 20 secs and checks
> > > again).
>
> > > i would expect the time to be correct anytime it is used:
>
> > > <--code below -->>
> > > print time.strftime('%m-%d-%Y %H:%m:%S')
> > > <--code above -->>
>
> > > here is an example of what i am seeing:
>
> > > 16:07:16
> > > 16:07:36
> > > 16:07:56
> > > 16:07:16
> > > 16:07:36
> > > 16:07:56
> > > 16:07:16
> > > 16:07:36
> > > 16:07:56
>
> > Your output doesn't match your format string:
>
> > In [1]: import time
>
> > In [2]: print time.strftime('%m-%d-%Y %H:%m:%S')
> > 07-21-2009 17:07:16
>
> > There's no way to tell why your output times seem to repeat without
> > seeing the code that surrounds your "print time.strftime('%m-%d-%Y %H:
> > %m:%S')" line.
>
> sorry, yes, i did manually filter the output.
>
> here is the function:
>
> def log_out(msg,servername='std.out'):
>         print msg
>         open(log_dir + '\\' + servername + ".log",'a').write(servername + "-"
> + time.strftime('%m-%d-%Y %H:%M:%S') + " " + msg+'\n')
>
> on each pass, it should output the newer time (whether recursive or
> not, right) ?

Well, as Piet van Oostrum pointed out, your problem in the first code
you posted was that you used '%m' rather than '%M' for the minutes.
(Good eye Van Oostrum!)  But now in this function you seem to have the
correct '%M' field.  Are you still having the same output after
changing that?


In any event, here's a rewritten version of that function that's a
little cleaner, FWIW.


from os.path import join
from time import strftime

format = '%m-%d-%Y %H:%M:%S'

def log_out(msg, servername='std.out'):
print msg
msg = "%s - %s %s\n" % (servername, strftime(format), msg)
log_file = open(join(log_dir, servername + ".log"), 'a')
try:
log_file.write(msg)
finally:
log_file.close()


But why not just use the logging module?
-- 
http://mail.python.org/mailman/listinfo/python-list


Fast reading and unpacking of binary data (struct module)

2009-07-21 Thread Daniel Platz
Hi,

I have a Python newbie question about reading data from a binary file.
I have an huge binary file from an external program. I want to read
and process the data in this file in a reasonable time. It turns out
that the reading of the data itself and the processing do not need
most of the time. However, when using the read(bytes) method Python
returns a string representing the binary information in hex. This
string I have to "cast/translate" into a number (in my case a signed
short). For this I am using the method struct.unpack from the struct
module. This unpacking part of the program takes by far the most time.
Is there a way to speed this up or to do it the unpacking more
cleverly than with the struct module?

Thanks in advance.

With kind regards,

Daniel
-- 
http://mail.python.org/mailman/listinfo/python-list


trouble with minidom

2009-07-21 Thread Ronn Ross
Hello I'm trying to read an xml file using minidome. The xml looks like:

   
  myProj
  /here/
   


My code looks like so:
from xml.dom.minidom import parse

dom = parse("myfile.xml")

for node in dom.getElementsByTagName("project'):
   print('name: %s, path: %s \n') % (node.childNodes[0].nodeValue,
node.childNodes[1])

Unfortunately, it returns 'nodeValue as none. I'm trying to read the value
out of the node fir example name: myProj. I haven't found much help in the
documentation. Can someone point me in the right direction?
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Fast reading and unpacking of binary data (struct module)

2009-07-21 Thread Gabriel Genellina
En Tue, 21 Jul 2009 21:00:13 -0300, Daniel Platz  
 escribió:



I have an huge binary file from an external program. I want to read
and process the data in this file in a reasonable time. It turns out
that the reading of the data itself and the processing do not need
most of the time. However, when using the read(bytes) method Python
returns a string representing the binary information in hex. This
string I have to "cast/translate" into a number (in my case a signed
short). For this I am using the method struct.unpack from the struct
module. This unpacking part of the program takes by far the most time.
Is there a way to speed this up or to do it the unpacking more
cleverly than with the struct module?


Try creating a Struct object with your format and use its unpack() method.
http://docs.python.org/library/struct.html#struct-objects

If your format consists of just integers, probably an array is more  
efficient:

http://docs.python.org/library/array.html#array.array.fromfile

--
Gabriel Genellina

--
http://mail.python.org/mailman/listinfo/python-list


Re: tough-to-explain Python

2009-07-21 Thread greg

Simon Forman wrote:


My understanding (so far) is that you (hope to) /derive/ correct code
using formal logic, rather than writing code and then proving its
soundness.


But to the extent you can rigorously formalise it,
all you've done is create Yet Another Programming
Language.

Which is fine, if you can come up with one that
works at a high enough level in some domain that
you can see just by looking that the program will
do what you want.

However, I suspect that you can't improve much on
what we've already got without restricting the
domain of applicability of the language. Otherwise,
you just shift the intellectual bottleneck from
writing a correct program to writing correct
specifications.

In the realm of programming language design, it's
been said that you can't eliminate complexity, all
you can do is push it around from one place to
another. I suspect something similar applies to
the difficulty of writing programs.

--
Greg
--
http://mail.python.org/mailman/listinfo/python-list


Re: Mutable Strings - Any libraries that offer this?

2009-07-21 Thread greg

Ben Finney wrote:

My point was rather meant to imply that
subclassing the built-in (immutable) string types was the best way to
usefully get all their functionality


However, it would be difficult to do that without changing
all C code that deals with strings, including that in extension
modules.

That's because the existing string type stores the characters
in the string object itself. A mutable variant would have to
contain a pointer to a resizable memory block, and therefore
couldn't be used as a drop-in replacement by existing C
code that expects a string.

--
Greg
--
http://mail.python.org/mailman/listinfo/python-list


Python

2009-07-21 Thread khanh le
do you have any materials about Python?
can you show me the link of Python or some books?
thanks a lots!

-- 
Regard!
Khanh
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: trouble with minidom

2009-07-21 Thread Gabriel Genellina
En Tue, 21 Jul 2009 21:08:57 -0300, Ronn Ross   
escribió:



Hello I'm trying to read an xml file using minidome. The xml looks like:

   
  myProj
  /here/
   


My code looks like so:
from xml.dom.minidom import parse

dom = parse("myfile.xml")

for node in dom.getElementsByTagName("project'):
   print('name: %s, path: %s \n') % (node.childNodes[0].nodeValue,
node.childNodes[1])

Unfortunately, it returns 'nodeValue as none. I'm trying to read the  
value
out of the node fir example name: myProj. I haven't found much help in  
the

documentation. Can someone point me in the right direction?


Unless you have a specific reason to use the DOM interface (like having a  
masochistic mind), working with ElementTree usually is a lot easier:


py> import xml.etree.ElementTree as ET
py> xml = """
... 
...myProj
.../here/
... 
... """
py> doc = ET.fromstring(xml)
py> for project in doc.findall('project'):
...   for child in project.getchildren():
... print child.tag, child.text
...
name myProj
path /here/

--
Gabriel Genellina

--
http://mail.python.org/mailman/listinfo/python-list


Re: ANN: Shed Skin 0.2, an experimental (restricted) Python-to-C++ compiler

2009-07-21 Thread greg

William Dode wrote:

I just tested it with a litle game, to find the places of horse on 
a board 5x5. The result is :


cython avec malloc *int 18s


Posting benchmark times for Pyrex or Cython is pretty
meaningless without showing the exact code that was
used, since times can vary enormously depending on
how much you C-ify things.

--
Greg
--
http://mail.python.org/mailman/listinfo/python-list


  1   2   >