Re: Is there any difference between print 3 and print '3' in Python ?

2012-09-10 Thread Benjamin Kaplan
On Sun, Sep 9, 2012 at 11:33 PM, Dwight Hutto  wrote:
>
>
> On Sun, Sep 9, 2012 at 10:41 AM, Ian Foote  wrote:
>>
>> On 09/09/12 14:23, iMath wrote:
>>>
>>> 在 2012年3月26日星期一UTC+8下午7时45分26秒,iMath写道:

 I know the print statement produces the same result when both of these
 two instructions are executed ,I just want to know Is there any difference
 between print 3 and print '3' in Python ?
>>>
>>> thx everyone
>>
>>
>
> Here's a future import though I used,so I can use the planned 3 with a 2x
> python version in the command line interpreter:
>
> Microsoft Windows [Version 6.1.7600]
> Copyright (c) 2009 Microsoft Corporation.  All rights reserved.
>
> C:\Users\david>c:\python26\python.exe
> Python 2.6.6 (r266:84297, Aug 24 2010, 18:46:32) [MSC v.1500 32 bit (Intel)]
> on
> win32
> Type "help", "copyright", "credits" or "license" for more information.
 exit()
>
> C:\Users\david>c:\python27_64\python.exe
> Python 2.7.2 (default, Jun 12 2011, 14:24:46) [MSC v.1500 64 bit (AMD64)] on
> win
> 32
> Type "help", "copyright", "credits" or "license" for more information.
 import __future__
 x = 3
 y = '3'
 print(x)
> 3
 print(y)
> 3

 type(x)
> 
 type(y)
> 
>
 z = '%i' % (3)
 type(z)
> 

>
> In other words type(value), and find out the difference.
> --
> Best Regards,
> David Hutto
> CEO: http://www.hitwebdevelopment.com
>

Somewhat OT, but __future__ doesn't work like that. You have to import
the specific features you want to use.

Python 2.7.3 (default, Apr 10 2012, 23:31:26) [MSC v.1500 32 bit (Intel)] on win
32
Type "help", "copyright", "credits" or "license" for more information.
>>> print 3
3
>>> import __future__
>>> print 3
3
>>> from __future__ import print_function
>>> print 3
  File "", line 1
print 3
  ^
SyntaxError: invalid syntax
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Newbie: where's the new python gone?

2012-09-10 Thread Benjamin Kaplan
On Sun, Sep 9, 2012 at 11:10 PM, Dwight Hutto  wrote:
>
> I have several installations on my windows, so I use
> c:\python27_64\python.exe module_file.py
>
> or
>
> c:\python26\python.exe module_file.py
>
> in the command line.
>
>
> Not to show that this shouldn't be a discussion, but usually it's searching.
> Here's search term a link, and some python docs:
>
> install python windows command line
>
> or click:
>
> https://www.google.com/search?q=install+python+windows+command+line&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-US:official&client=firefox-ahere's
>
> and one of the better results:
>
> http://docs.python.org/faq/windows.html#how-do-i-run-a-python-program-under-windows
>
>
> --
> Best Regards,
> David Hutto
> CEO: http://www.hitwebdevelopment.com
>

The problem is related to Python on Mac, not on Windows. As was stated
in the original post.
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Is there any difference between print 3 and print '3' in Python ?

2012-09-10 Thread Terry Reedy

On 9/10/2012 2:33 AM, Dwight Hutto wrote:



On Sun, Sep 9, 2012 at 10:41 AM, Ian Foote mailto:[email protected]>> wrote:

On 09/09/12 14:23, iMath wrote:

在 2012年3月26日星期一UTC+8下午7时45分26秒,__iMath写道:

I know the print statement produces the same result when
both of these two instructions are executed ,I just want to
know Is there any difference between print 3 and print '3'
in Python ?

thx everyone


Here's a future import though I used,so I can use the planned 3 with a
2x python version in the command line interpreter:

Microsoft Windows [Version 6.1.7600]
Copyright (c) 2009 Microsoft Corporation.  All rights reserved.

C:\Users\david>c:\python26\python.exe
Python 2.6.6 (r266:84297, Aug 24 2010, 18:46:32) [MSC v.1500 32 bit
(Intel)] on
win32
Type "help", "copyright", "credits" or "license" for more information.
 >>> exit()

C:\Users\david>c:\python27_64\python.exe
Python 2.7.2 (default, Jun 12 2011, 14:24:46) [MSC v.1500 64 bit
(AMD64)] on win
32
Type "help", "copyright", "credits" or "license" for more information.
 >>> import __future__
 >>> x = 3
 >>> y = '3'
 >>> print(x)
3
 >>> print(y)
3
 >>>
 >>> type(x)

 >>> type(y)


 >>> z = '%i' % (3)
 >>> type(z)

 >>>

In other words type(value), and find out the difference.


print(x) prints str(x), which is meant to be a 'friendly' 
representation. To see a difference,


>>> print(repr(3))
3
>>> print(repr('3'))
'3'

--
Terry Jan Reedy


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


Re: Beginner Q: What does the double underscore __ mean?

2012-09-10 Thread Dwight Hutto
The very first few steps, are help(any_module), and google.

Try looking at this first then, the google search term I used(or any you
might come up with_ :

double underscore python 2.7

yielding:
https://isearch.avg.com/search?q=double+underscore+python+2.7&sap=ku&lang=en&mid=376c19fb27d247d0a284cd3c4e3199e1-2a42c7757f8323a601da41ed11055b4506e772ff&cid={f9f3e522-d7d6-4f0d-bfa5-e8ef583d0ff7}&v=12.2.0.5&ds=ft011&d=8%2F29%2F2012+7%3A54%3A48+AM&pr=sa&snd=hdr

and usually any question you've wanted to ask, has already been asked, and
answered, but if you can't find it, you're in the right place.

-- 
Best Regards,
David Hutto
*CEO:* *http://www.hitwebdevelopment.com*
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Comparing strings from the back?

2012-09-10 Thread Duncan Booth
Gelonida N  wrote:

> On 09/07/2012 06:06 AM, Steven D'Aprano wrote:
>> On Thu, 06 Sep 2012 06:07:38 -0400, Dave Angel wrote:
>>
>>
>> Also of some interest is the best case: O(1) for unequal strings (they
>> differ at the first character) and O(N) for equal strings.
> 
> The worst case is O(N) or N characters
> the average case is O(1) or two characters.
> 
> For denial of service attacks or systems, that are NEVER allowed to fail 
> the worst case is important.
> 
> For most other cases the average complexity counts.
> 
> However I still wonder for how many applications the complexity of 
> string comparisons would be the limiting factor.
> 
> 
and of course if you ever do find an application where that worst case 
matters there's an easy way round it: just call intern() on all the strings 
when they are created.

For the comparison to be the limiting factor you have to be doing a lot of 
comparisons on the same string (otherwise creating the string would be the 
limiting factor), so at the expense of a single dictionary insertion when 
the string is created you can get guaranteed O(1) on all the comparisons.

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


Call for Papers: ACCU 2013 conference

2012-09-10 Thread jrbjagger

ACCU invites you to propose a session for its leading software development 
conference.
The conference will be held in Bristol, England, from the 9th to the 13th April 
inclusive.
Our opening keynote speakers will be Eben Upton, Mr Raspberry Pi.

To propose a session please email the following information to 
[email protected] 

* Title (a working title if necessary)
* Type (tutorial, case-study, workshop, etc.)
* Duration (45/90 min)
* Speaker name(s)
* Speaker biography (max 150 words)
* Description (approx 250 words)

We have a long tradition of high quality sessions covering many aspects of 
software development, from programming languages (e.g., Java, C#, Python, 
Erlang, Haskell, Ruby, Groovy, C, C++, etc.), and technologies (libraries, 
frameworks, databases, etc.) to subjects about the wider development 
environment such as testing, architecture and design, development process, 
analysis, patterns, project management, and softer aspects such as team 
building, communication and leadership. 

Sessions are usually tutorial-based, presentations of case studies, or 
interactive workshops, but we are always open to novel formats. Most sessions 
are 90 minutes. To encourage less experienced speakers to speak without the 
pressure of filling a full 90 minutes, we reserve a number of shorter 45 minute 
sessions. 

Speakers running one or more full 90 minute sessions receive a special 
conference package including free attendance, and assistance with their travel 
and accommodation costs. Speakers filling a 45 minute slot qualify for free 
conference attendance on the day of their session.

For more information about location, travel, fees, accommodation, restaurants, 
etc, please see
http://www.cvent.com/events/save-the-date-/event-summary-8539404013564465b7aba6a2ce241323.aspx

The conference has always benefited from the strength of its programme. 
Please help us make 2013 another successful event. 
Thank you
Jon Jagger
(ACCU conference chair)
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: how to run python2.6 module with absolute imports stand alone

2012-09-10 Thread Jean-Michel Pichavant

Gelonida N wrote:

On 09/08/2012 02:13 AM, Mark Lawrence wrote:

[snip]




I hope this helps
http://stackoverflow.com/questions/3616952/how-to-properly-use-relative-or-absolute-imports-in-python-modules 



It seems the safest bet seems to be to not use relative imports.
That's what I figured as well. I may have been misusing relative 
imports, but I never found the solution for my problems. Absolute 
imports just solved everything. I think this is the way to go for anyone 
who does not want to spend too much brain on their import directives.


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


Re: AttributeError: 'list' object has no attribute 'lower'

2012-09-10 Thread Jean-Michel Pichavant

Token Type wrote:
In fact, I'm guessing that's your problem.  I think you're ending up 

with a list of lists of strings, when you think you're getting a list of 


strings.



Thanks. You guess right. It turns out that lemma_list is a list of list, as I 
tested in the previous post.
  


I often noticed people around me that are not that familiar with python 
are dismissing the error stack so quickly ; they probably knows the 
machine is trying to communicate with them but they don't seem to 
understand the message. Error stacks may be difficult to read at first 
glance but you can solve a lot of problems just by reading it.


So next time you see 'X' has no attribute 'Y', you'll know that you've 
accessed an attribute/method of an object that does not exist, either 
you made a typo in the attribute name, or you object is not actually 
what you think it is.


Advice : if you have so time, install ipython and execute your scripts 
in an ipython shell with the %pdb faeture on. This will automatically 
call the debugger upon unhandled exceptions and you'll be able to 
inspect your objects live from the prompt.


JM






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


Re: Standard Asynchronous Python

2012-09-10 Thread Dustin J. Mitchell
The responses have certainly highlighted some errors in emphasis in my approach.

* My idea is to propose a design PEP. (Steven, Dennis) I'm not at
*all* suggesting including uthreads in the standard library.  It's a
toy implementation I used to develop my ideas.  I think of this as a
much smaller idea in the same vein as the DBAPI (PEP 249): a common
set of expectations that allows portability.
* I'd like to set aside the issue of threads vs. event-driven
programming.  There are legitimate reasons to do both, and the healthy
ecosystem of frameworks for the latter indicates at least some people
are interested.  My idea is to introduce a tiny bit of coherence
across those frameworks.
* (Bryan) The Fibonacci example is a simple example of, among other
things, a CPU-bound, recursive task -- something that many async
frameworks don't handle fairly right now.  I will add some text to
call that out explicitly.
* Regarding generators vs. coroutines (Bryan), I use the terms
generator and generator function in the PEP carefully, as that's what
the syntactic and runtime concepts are called in Python.  I will
include a paragraph distinguishing the two.

I will need to take up the details of the idea with the developers of
the async frameworks themselves, and get some agreement before
actually proposing the PEP.  However, among this group I'm interested
to know whether this is an appropriate use of a design PEP.  That's
why I posted my old and flawed PEP text, rather than re-drafting
first.

Thanks for the responses so far!
Dustin
-- 
http://mail.python.org/mailman/listinfo/python-list


Compile python code into a dll

2012-09-10 Thread Rolf Wester

Hi,

I have Python code that I would like to compile into a dll (I have to 
deliver a C/C++ callable dll and I don't want to reimpelement the Python 
code in C/C++). It's not for extending Python but I want to call the 
Python functions and classes from C/C++. It's more like extending C/C++ 
with Python. I would be very appreciative for any help.


Thank you in advance

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


Re: Compile python code into a dll

2012-09-10 Thread Ramchandra Apte
On Monday, 10 September 2012 17:45:11 UTC+5:30, Rolf Wester  wrote:
> Hi,
> 
> 
> 
> I have Python code that I would like to compile into a dll (I have to 
> 
> deliver a C/C++ callable dll and I don't want to reimpelement the Python 
> 
> code in C/C++). It's not for extending Python but I want to call the 
> 
> Python functions and classes from C/C++. It's more like extending C/C++ 
> 
> with Python. I would be very appreciative for any help.
> 
> 
> 
> Thank you in advance
> 
> 
> 
> Regards
> 
> Rolf

http://docs.python.org/extending/embedding.html is the official docs for this 
thing
Embedding is similar to extending.
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Compile python code into a dll

2012-09-10 Thread Miki Tebeka
> I have Python code that I would like to compile into a dll (I have to 
See http://docs.python.org/extending/embedding.html. You can pack your code in 
a zip file and load it from the DLL entry point (something like what py2exe 
does).

See also the Freeze tool - http://wiki.python.org/moin/Freeze.

HTH,
--
Miki (http://pythonwise.blogspot.com/)
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Standard Asynchronous Python

2012-09-10 Thread Steven D'Aprano
On Mon, 10 Sep 2012 07:36:11 -0400, Dustin J. Mitchell wrote:

> The responses have certainly highlighted some errors in emphasis in my
> approach.
> 
> * My idea is to propose a design PEP. (Steven, Dennis) I'm not at *all*
> suggesting including uthreads in the standard library.  It's a toy
> implementation I used to develop my ideas.  I think of this as a much
> smaller idea in the same vein as the DBAPI (PEP 249): a common set of
> expectations that allows portability. 

Okay, point taken, I misunderstood your proposal.

But my point still stands: since nobody except (possibly) you has used 
your uthreads library, what gives you confidence that the API you suggest 
is any good? Not just good, but good enough to impose that API on every 
other async framework in the standard library and possibly beyond it?

If you have a good answer to that question, then it might be appropriate 
to propose such an API.

(For what it's worth, consensus among the major async frameworks that 
your approach was a good idea would be a pretty good answer to that 
question.)


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


SAP MM Cupertino, CA

2012-09-10 Thread Suresh Kumar
Hi,

This is Girish, - IT Recruiter  from SancroSoft USA Inc.

Please respond with updated resume in MS-Word .doc Format with the
following details to  [email protected]

Full Name :
Location :
Contact Number :
Email :
Availability :
Visa Status :

SAP MM
Location : Cupertino, CA
Duration:  3+ Months

Job Description:

• Candidate should possess excellent functional knowledge in SAP MM
for about 4-5 yrs and have 2 years of implementation or Production
support experience
• Should be strong in Procure to pay cycle covering the critical
aspects of Purchasing, Inventory Management & Invoice Verification.
• Should be able to understand the client business process so as to
map the requirements in SAP using standard solution methodology.
• Should be able to conduct Business workshops to drive the project
implementation using SAP standard implementation methodologies.
• Should be strong in Special processes which include Consignment
process, Subcontracting process & Batch Management.
• Should be comfortable in handling and preparation of Functional
Specifications and to work with developer to achieve RICEF objects.
• Should have cross functional expertise and should be strong in
integrating the system with other modules which includes SD, WM & FI.
• Should have worked and exposed to EDI Integration techniques along
with Idoc monitoring process.
• Should be an excellent team player & good team builder.
• Should demonstrate excellent communication skills.



 Thanks & Regards,

 Girish
 IT Recruiter.


 The power of focus
SancroSoft USA INC
4944 Sunrise Blvd, Suite B-4 || Fair Oaks, CA 95628
Phone : 916-671-5584|| Fax: 916-200-0305
E-Mail : [email protected]|| www.sancrosoftusa.com

Stay Connected:

The information contained in this email message is intended only for
the personal and confidential use of the recipient(s) named above. The
message may be privileged and confidential and protected from
disclosure. If the reader of this message is not the intended
recipient or an agent responsible for delivering it to the intended
recipient, you are hereby notified that you have received this
document in error and that any review, dissemination, distribution,
copying of this message is strictly prohibited. If you have received
this communication in error, please notify us immediately by email and
delete the original message.


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


Re: Standard Asynchronous Python

2012-09-10 Thread Oscar Benjamin
On 2012-09-10, Dennis Lee Bieber  wrote:
> On Sun, 9 Sep 2012 20:07:51 -0400, "Dustin J. Mitchell"
> declaimed the following in
> gmane.comp.python.general:
>
>> 
>> My proposal met with near-silence, and I didn't pursue it.  Instead, I
>> did what any self-respecting hacker would do - I wrote up a framework,
>> uthreads [4], that implemented my idea.  This was initially a simple
>> trampoline scheduler, but I eventually refactored it to run atop
>> Twisted, since that's what I use.  To my knowledge, it's never been
>> used.
>>
>   So for your small attempt to hide an event-driven dispatcher, one
> has to load a massive event-driven library. Some years ago I tried to
> make sense of Twisted and failed badly. Maybe it makes sense to those
> raised on UNIX style select() (where practically anything that involved
> data transfer over some sort of channel could be tested -- but doesn't
> work as such on Windows where only network sockets can be used, file i/o
> needs to use a different call),
>> 

I think the idea behind the PEP is to facilitate modularisation of event
driven frameworks into dispatchers and libraries that are suitable for running
within dispatchers. When you say a 'massive-event driven library' I guess you
mean something liek Twisted. I don't have much experience with Twisted but
having looked at it a bit my impression is that it is so large because it
includes many components that are not essential for every user. I guess that
the reason for keeping those components in Twisted rather than as separate
projects is not so much because every user needs them but because many of them
are implemented in a way that makes them not much use outside of Twisted.

The idea that Dustin is proposing is that in the same way that a library might
declare a subset of its API to be thread-safe, and so usable with threading
frameworks, a library could expose a PEP-XXX compliant interface for use with
a PEP-XXX compliant dispatcher. If implemented that should facilitate the
creation of minimal dispatchers and minimal standard components that can run
within those dispatchers. This would mean that it wouldn't be necessary to
make massive event-driven libraries but rather smaller interchangeable
libraries. For example, it might facilitate the creation of a Windows-specific
dispatcher that would be able to use the best underlying Windows APIs while
also benefitting from any PEP-XXX compliant libraries that would work with any
other dispatcher.

>> As I get to work on the PEP, I'd like to hear any initial reactions to the
>> idea.

I don't have much experience with the event-driven frameworks but having made
a couple of simple scripts using gevent/Twisted my experience is that learning
to use these frameworks is hard, largely because of the number of framework-
specific concepts that are needed to make simple examples work. I would expect
that giving each framework a relatively standardised interface would make them
much easier to learn.

Oscar

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


Re: Comparing strings from the back?

2012-09-10 Thread Steven D'Aprano
On Mon, 10 Sep 2012 08:59:37 +, Duncan Booth wrote:

> Gelonida N  wrote:
> 
>> On 09/07/2012 06:06 AM, Steven D'Aprano wrote:
>>> On Thu, 06 Sep 2012 06:07:38 -0400, Dave Angel wrote:
>>>
>>>
>>> Also of some interest is the best case: O(1) for unequal strings (they
>>> differ at the first character) and O(N) for equal strings.
>> 
>> The worst case is O(N) or N characters the average case is O(1) or two
>> characters.
>> 
>> For denial of service attacks or systems, that are NEVER allowed to
>> fail the worst case is important.
>> 
>> For most other cases the average complexity counts.
>> 
>> However I still wonder for how many applications the complexity of
>> string comparisons would be the limiting factor.
>> 
>> 
> and of course if you ever do find an application where that worst case
> matters there's an easy way round it: just call intern() on all the
> strings when they are created.


There are other good reasons for interning strings, but speeding up 
"astring == bstring" is not one of them.


[steve@ando ~]$ python -m timeit -s "s = 'abc'*10" -s \
> "t = s[:-1] + 'x'" "s == t"
1000 loops, best of 3: 910 usec per loop
[steve@ando ~]$ python -m timeit -s "s = 'abc'*10" -s \
> "t = s[:-1] + 'x'" -s "intern(s); intern(t)" "s == t"
1000 loops, best of 3: 914 usec per loop

No significant difference.

To state the bleedin' obvious, the computational effort required to 
*compare two strings* pre-supposes that those strings already exist, and 
is *completely independent* of the complexity of creating the strings.


> For the comparison to be the limiting factor you have to be doing a lot
> of comparisons 

Correct.

> on the same string (otherwise creating the string would be the limiting
> factor),

Not necessarily.

Look, it's really hard to come up with a realistic, non-contrived example 
where string comparisons are a significant bottleneck in a non-toy 
application. So let me first off say that *nearly always* you're not 
going to care whether "s == t" looks at all N characters or just the 
first 2 (or 20, or 100). This argument is rather academic (the best sort 
of argument!). Until you start getting up into truly huge strings, we're 
arguing about how many angels can dance on a CPU cache.

But for the record, in principle string comparisons *could* be the 
bottleneck. Example: you have 1 strings, which are each created once 
and stored in a list. Then you iterate over the list, comparing every 
string against every other string. And due to some weird vagary of the 
data, the strings are nearly all equal.

(Why would you do this? I don't know, maybe it's a programmers' challenge 
found on the Internet, make up your own scenario...)

Total number of strings created: 1.
Total number of strings compared: 1.

The overhead of creating the strings is trivial compared to the overhead 
of comparing them, and since each string is only created once anyway, 
interning them is just a waste of time.


> so at the expense of a single dictionary
> insertion when the string is created you can get guaranteed O(1) on all
> the comparisons.

What interning buys you is that "s == t" is an O(1) pointer compare if 
they are equal. But if s and t differ in the last character, __eq__ will 
still inspect every character. There is no way to tell Python "all 
strings are interned, if s is not t then s != t as well".


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


Re: Newbie: where's the new python gone?

2012-09-10 Thread William R. Wing (Bill Wing)
On Sep 9, 2012, at 10:28 AM, BobAalsma  wrote:

> I think I've installed Python 2.7.3 according to the instructions in the 
> README, and now want to use that version. 
> However, when typing "python" in Terminal, I get "Python 2.6.4 (r264:75821M, 
> Oct 27 2009, 19:48:32) ".
> So:
> (1) I can't seem to find where the new software has gone and 
> (2) can't seem to find how to point to this new versoin.
> I've searched Python.org and with Google but :(
> [I'm on Mac OS X 10.7.4]
> 
> Please help.
> -- 
> http://mail.python.org/mailman/listinfo/python-list

Bob, I'm coming into this late, but it doesn't appear that you've gotten a 
satisfactory answer yet.  Let's take it one step at a time.

First, if none of the hints you've received earlier have gotten you going.  
Maybe the thing is to resort to a bigger hammer.  In a terminal window:

$sudo find / -name Python -print

This will search the entire file system for all the files named Python and will 
ask for your admin password so it can search in directories owned by root.  (It 
may also generate quite a bit of output, so you might want to capture it in a 
file.)  In any case, this will take several minutes and while it is running, 
you can be checking a couple of other things.  OS X doesn't use a .bashrc file 
by default (you can make it do so if you want, but that's extra work right 
now).  It uses .login and then .profile to set up your python path _if_ you've 
used the installer from python.org.

So, look to see if you have a .profile in your ~ directory.  If so, then you're 
using (or have used at some point in the past) an installer from python.org.
It should have an entry that looks something like the following:

# Setting PATH for Python 2.7
# The orginal version is saved in .profile.pysave
PATH="/Library/Frameworks/Python.framework/Versions/2.7/bin:${PATH}"
export PATH

Note the distinction between this path and the one from Apple.  The python that 
ships from Apple is in /System/Library/Frameworks…

Do NOT touch the one from Apple.  Apple uses it for some of its housekeeping 
operations and you want it to stay just as Apple installed it.

When you finally find the Python 2.7 in the output from the "find" command, you 
can edit your .login (if you don't have a .profile) or edit .profile if you do.

Good luck,
Bill

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


Re: Comparing strings from the back?

2012-09-10 Thread Oscar Benjamin
On 2012-09-10, Steven D'Aprano  wrote:
> On Mon, 10 Sep 2012 08:59:37 +, Duncan Booth wrote:
>
>> Gelonida N  wrote:
>> 
>> so at the expense of a single dictionary
>> insertion when the string is created you can get guaranteed O(1) on all
>> the comparisons.
>
> What interning buys you is that "s == t" is an O(1) pointer compare if 
> they are equal. But if s and t differ in the last character, __eq__ will 
> still inspect every character. There is no way to tell Python "all 
> strings are interned, if s is not t then s != t as well".
>

I thought that if *both* strings were interned then a pointer comparison could
decide if they were unequal without needing to check the characters.

Have I misunderstood how intern() works?

Oscar

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


Re: Comparing strings from the back?

2012-09-10 Thread Chris Angelico
On Tue, Sep 11, 2012 at 12:06 AM, Oscar Benjamin
 wrote:
> On 2012-09-10, Steven D'Aprano  wrote:
>> What interning buys you is that "s == t" is an O(1) pointer compare if
>> they are equal. But if s and t differ in the last character, __eq__ will
>> still inspect every character. There is no way to tell Python "all
>> strings are interned, if s is not t then s != t as well".
>>
>
> I thought that if *both* strings were interned then a pointer comparison could
> decide if they were unequal without needing to check the characters.
>
> Have I misunderstood how intern() works?

In a language where _all_ strings are guaranteed to be interned (such
as Lua, I think), you do indeed gain this. Pointer inequality implies
string inequality. But when interning is optional (as in Python), you
cannot depend on that, unless there's some way of recognizing interned
strings. Of course, that may indeed be the case; a simple bit flag
"this string has been interned" would suffice, and if both strings are
interned AND their pointers differ, THEN you can be sure the strings
differ.

I have no idea whether or not CPython version X.Y.Z does this. The
value of such an optimization really depends on how likely strings are
to be interned; for instance, if the compiler automatically interns
all the names of builtins, this could be quite beneficial. Otherwise,
probably not; most Python scripts don't bother interning anything.

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


Re: Comparing strings from the back?

2012-09-10 Thread Oscar Benjamin
On 2012-09-10, Chris Angelico  wrote:
> On Tue, Sep 11, 2012 at 12:06 AM, Oscar Benjamin
> wrote:
>> On 2012-09-10, Steven D'Aprano  wrote:
>>> What interning buys you is that "s == t" is an O(1) pointer compare if
>>> they are equal. But if s and t differ in the last character, __eq__ will
>>> still inspect every character. There is no way to tell Python "all
>>> strings are interned, if s is not t then s != t as well".
>>>
>>
>> I thought that if *both* strings were interned then a pointer comparison
>> could decide if they were unequal without needing to check the characters.
>>
>> Have I misunderstood how intern() works?
>
> In a language where _all_ strings are guaranteed to be interned (such
> as Lua, I think), you do indeed gain this. Pointer inequality implies
> string inequality. But when interning is optional (as in Python), you
> cannot depend on that, unless there's some way of recognizing interned
> strings. Of course, that may indeed be the case; a simple bit flag
> "this string has been interned" would suffice, and if both strings are
> interned AND their pointers differ, THEN you can be sure the strings
> differ.
>
> I have no idea whether or not CPython version X.Y.Z does this. The
> value of such an optimization really depends on how likely strings are
> to be interned; for instance, if the compiler automatically interns
> all the names of builtins, this could be quite beneficial. Otherwise,
> probably not; most Python scripts don't bother interning anything.
>

I haven't looked at the source but my understanding was precisely that there
is an intern() bit and that not only the builtins module but all the literals
in any byte-compiled module are interned.

Oscar

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


Re: Comparing strings from the back?

2012-09-10 Thread Oscar Benjamin
On 2012-09-10, Oscar Benjamin  wrote:
> On 2012-09-10, Chris Angelico  wrote:
>> On Tue, Sep 11, 2012 at 12:06 AM, Oscar Benjamin
>> wrote:
>>> On 2012-09-10, Steven D'Aprano  wrote:
 What interning buys you is that "s == t" is an O(1) pointer compare if
 they are equal. But if s and t differ in the last character, __eq__ will
 still inspect every character. There is no way to tell Python "all
 strings are interned, if s is not t then s != t as well".

>>>
>>> I thought that if *both* strings were interned then a pointer comparison
>>> could decide if they were unequal without needing to check the characters.
>>>
>>> Have I misunderstood how intern() works?
>>
>> In a language where _all_ strings are guaranteed to be interned (such
>> as Lua, I think), you do indeed gain this. Pointer inequality implies
>> string inequality. But when interning is optional (as in Python), you
>> cannot depend on that, unless there's some way of recognizing interned
>> strings. Of course, that may indeed be the case; a simple bit flag
>> "this string has been interned" would suffice, and if both strings are
>> interned AND their pointers differ, THEN you can be sure the strings
>> differ.
>>
>> I have no idea whether or not CPython version X.Y.Z does this. The
>> value of such an optimization really depends on how likely strings are
>> to be interned; for instance, if the compiler automatically interns
>> all the names of builtins, this could be quite beneficial. Otherwise,
>> probably not; most Python scripts don't bother interning anything.
>>
>
> I haven't looked at the source but my understanding was precisely that there
> is an intern() bit and that not only the builtins module but all the literals
> in any byte-compiled module are interned.
>

s/literals/identifiers/

You can see the interned flag in the PyUnicodeObject struct here:
http://hg.python.org/cpython/file/3ffd6ad93fe4/Include/unicodeobject.h#l303

Oscar

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


Re: Comparing strings from the back?

2012-09-10 Thread Chris Angelico
On Tue, Sep 11, 2012 at 12:43 AM, Oscar Benjamin
 wrote:
> On 2012-09-10, Oscar Benjamin  wrote:
>> I haven't looked at the source but my understanding was precisely that there
>> is an intern() bit and that not only the builtins module but all the literals
>> in any byte-compiled module are interned.
>>
>
> s/literals/identifiers/
>
> You can see the interned flag in the PyUnicodeObject struct here:
> http://hg.python.org/cpython/file/3ffd6ad93fe4/Include/unicodeobject.h#l303

Ah, yep, so that's there. In that case, it's possible to have that
optimization. However, I may be misreading this, but it seems the only
Unicode comparison function is a rich compare, which is unable to take
advantage of a known difference:
http://hg.python.org/cpython/file/b48ef168d8c5/Objects/unicodeobject.c#l6114

Different pointers prove the strings differ, but don't tell you which
is to be sorted earlier. You could use this if you roll your own
comparison in C; or, if you already know the strings are interned, you
can use 'is' / 'is not'. But that seems to be the extent of it.

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


PYODBC Print Cursor Output Question

2012-09-10 Thread james simpson
I think there's a simple answer but displaying my ignorance here.
I'm
using Python 2.7.3 IDLW with pydoc 3x

I think I've connected to my SQL Server 2005 and my SQL is good.

How do I display the actual data returned from my fetch?  Been
searching for several hours but no joy...

Thanks. Jamie

===
>>> cursor.execute("select * from project")

row = cursor.fetchone()
if row:
print row

   I'd like to actually see SQL
output here?)


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


Re: SAP MM Cupertino, CA

2012-09-10 Thread Ramchandra Apte
On Monday, 10 September 2012 18:51:10 UTC+5:30, Suresh Kumar  wrote:
> Hi,
> 
> 
> 
> This is Girish, - IT Recruiter  from SancroSoft USA Inc.
> 
> 
> 
> Please respond with updated resume in MS-Word .doc Format with the
> 
> following details to  [email protected]
> 
> 
> 
> Full Name :
> 
> Location :
> 
> Contact Number :
> 
> Email :
> 
> Availability :
> 
> Visa Status :
> 
> 
> 
> SAP MM
> 
> Location : Cupertino, CA
> 
> Duration:  3+ Months
> 
> 
> 
> Job Description:
> 
> 
> 
> • Candidate should possess excellent functional knowledge in SAP MM
> 
> for about 4-5 yrs and have 2 years of implementation or Production
> 
> support experience
> 
> • Should be strong in Procure to pay cycle covering the critical
> 
> aspects of Purchasing, Inventory Management & Invoice Verification.
> 
> • Should be able to understand the client business process so as to
> 
> map the requirements in SAP using standard solution methodology.
> 
> • Should be able to conduct Business workshops to drive the project
> 
> implementation using SAP standard implementation methodologies.
> 
> • Should be strong in Special processes which include Consignment
> 
> process, Subcontracting process & Batch Management.
> 
> • Should be comfortable in handling and preparation of Functional
> 
> Specifications and to work with developer to achieve RICEF objects.
> 
> • Should have cross functional expertise and should be strong in
> 
> integrating the system with other modules which includes SD, WM & FI.
> 
> • Should have worked and exposed to EDI Integration techniques along
> 
> with Idoc monitoring process.
> 
> • Should be an excellent team player & good team builder.
> 
> • Should demonstrate excellent communication skills.
> 
> 
> 
> 
> 
> 
> 
>  Thanks & Regards,
> 
> 
> 
>  Girish
> 
>  IT Recruiter.
> 
> 
> 
> 
> 
>  The power of focus
> 
> SancroSoft USA INC
> 
> 4944 Sunrise Blvd, Suite B-4 || Fair Oaks, CA 95628
> 
> Phone : 916-671-5584|| Fax: 916-200-0305
> 
> E-Mail : [email protected]|| www.sancrosoftusa.com
> 
> 
> 
> Stay Connected:
> 
> 
> 
> The information contained in this email message is intended only for
> 
> the personal and confidential use of the recipient(s) named above. The
> 
> message may be privileged and confidential and protected from
> 
> disclosure. If the reader of this message is not the intended
> 
> recipient or an agent responsible for delivering it to the intended
> 
> recipient, you are hereby notified that you have received this
> 
> document in error and that any review, dissemination, distribution,
> 
> copying of this message is strictly prohibited. If you have received
> 
> this communication in error, please notify us immediately by email and
> 
> delete the original message.

Marking this as abusive in Google Groups - this seems like spam.
Please explain what does this have to do with Python.
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Newbie: where's the new python gone?

2012-09-10 Thread Hans Mulder
On 10/09/12 15:04:24, William R. Wing (Bill Wing) wrote:
> On Sep 9, 2012, at 10:28 AM, BobAalsma  wrote:
> 
>> I think I've installed Python 2.7.3 according to the instructions in the 
>> README, and now want to use that version. 
>> However, when typing "python" in Terminal, I get "Python 2.6.4 (r264:75821M, 
>> Oct 27 2009, 19:48:32) ".
>> So:
>> (1) I can't seem to find where the new software has gone and 
>> (2) can't seem to find how to point to this new versoin.
>> I've searched Python.org and with Google but :(
>> [I'm on Mac OS X 10.7.4]
>>
>> Please help.
>> -- 
>> http://mail.python.org/mailman/listinfo/python-list
> 
> Bob, I'm coming into this late, but it doesn't appear that you've
< gotten a satisfactory answer yet.  Let's take it one step at a time.
> 
> First, if none of the hints you've received earlier have gotten you going.
> Maybe the thing is to resort to a bigger hammer.  In a terminal window:
> 
> $sudo find / -name Python -print
> 
> This will search the entire file system for all the files named Python

Trouble is, the file you're looking for is named "python" and this
command is case-sensitive.  So the command you need would be:

  sudo find / -name python -print


> and will ask for your admin password so it can search in directories
> owned by root.

The file you're looking for is in a directory that you can read
with more mundane permissions, so you might want to leave off
the "sudo" prefix.  If you do, you'll get some message about
permission problems.


>  (It may also generate quite a bit of output, so you might want
> to capture it in a file.)

For example:

find / -name python > /tmp/pythons.txt 2> /dev/null

The 2>/dev/null bit throws away warnings about permission problems
and the like.

Alternatively, you can cut down the output like so:

find / -name python -print | grep bin/python

That will only report pythons found in directories named "bin".
On my laptop, that cuts the output down to:

/Library/Frameworks/Python.framework/Versions/2.7/bin/python
/opt/local/bin/python
/opt/local/Library/Frameworks/Python.framework/Versions/2.6/bin/python
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/bin/python
/System/Library/Frameworks/Python.framework/Versions/2.5/bin/python
/System/Library/Frameworks/Python.framework/Versions/2.6/bin/python
/usr/bin/python
/usr/local/bin/python

Those are all valid python interpreters, or wrappers for same.

> In any case, this will take several minutes and while it is running,
> you can be checking a couple of other things.  OS X doesn't use a
> .bashrc file by default (you can make it do so if you want, but
> that's extra work right now).  It uses .login and then .profile
> to set up your python path _if_ you've used the installer from python.org.

I doubt it.  What files are used, depends on which shell you use.
Bash uses .profile; the C shell uses .login and .cshrc.

I don't think there is a shell that can read both .login and .profile
since .login typically uses C shell syntax and .profile uses Bourne
shell syntax.

If you're not sure which shell you have, type

echo $SHELL

at the shell prompt.

> So, look to see if you have a .profile in your ~ directory.  If so,
> then you're using (or have used at some point in the past) an installer
> from python.org.
> It should have an entry that looks something like the following:
> 
> # Setting PATH for Python 2.7
> # The original version is saved in .profile.pysave
> PATH="/Library/Frameworks/Python.framework/Versions/2.7/bin:${PATH}"
> export PATH
> 
> Note the distinction between this path and the one from Apple.
> The python that ships from Apple is in /System/Library/Frameworks…
> 
> Do NOT touch the one from Apple.  Apple uses it for some of its
> housekeeping operations and you want it to stay just as Apple
> installed it.

+1

> When you finally find the Python 2.7 in the output from the "find"
> command, you can edit your .login (if you don't have a .profile) or
> edit .profile if you do.

Hope this helps,

-- HansM

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


Re: Compile python code into a dll

2012-09-10 Thread Terry Reedy

On 9/10/2012 8:15 AM, Rolf Wester wrote:


I have Python code that I would like to compile into a dll (I have to
deliver a C/C++ callable dll and I don't want to reimpelement the Python
code in C/C++). It's not for extending Python but I want to call the
Python functions and classes from C/C++. It's more like extending C/C++
with Python. I would be very appreciative for any help.


Cython compiles CPython to C which can be compiled by and c/c++ 
compiler. I believe it can do the above. "This makes Cython the ideal 
language for wrapping external C libraries, embedding CPython into 
existing applications, ". I think the latter is what you want to do.


http:cython.org

--
Terry Jan Reedy

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


Re: Comparing strings from the back?

2012-09-10 Thread Dan Goodman

On 04/09/2012 03:54, Roy Smith wrote:

Let's assume you're testing two strings for equality.  You've already
done the obvious quick tests (i.e they're the same length), and you're
down to the O(n) part of comparing every character.

I'm wondering if it might be faster to start at the ends of the strings
instead of at the beginning?  If the strings are indeed equal, it's the
same amount of work starting from either end.  But, if it turns out that
for real-life situations, the ends of strings have more entropy than the
beginnings, the odds are you'll discover that they're unequal quicker by
starting at the end.


From the rest of the thread, it looks like in most situations it won't 
make much difference as typically very few characters need to be 
compared if they are unequal.


However, if you were in a situation with many strings which were almost 
equal, the most general way to improve the situation might be store a 
hash of the string along with the string, i.e. store (hash(x), x) and 
then compare equality of this tuple. Almost all of the time, if the 
strings are unequal the hash will be unequal. Or, as someone else 
suggested, use interned versions of the strings. This is basically the 
same solution but even better. In this case, your startup costs will be 
higher (creating the strings) but your comparisons will always be instant.


Dan

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


Re: PYODBC Print Cursor Output Question

2012-09-10 Thread MRAB

On 10/09/2012 15:55, james simpson wrote:

I think there's a simple answer but displaying my ignorance here.
I'm
using Python 2.7.3 IDLW with pydoc 3x

I think I've connected to my SQL Server 2005 and my SQL is good.

How do I display the actual data returned from my fetch?  Been
searching for several hours but no joy...

Thanks. Jamie

===

cursor.execute("select * from project")


row = cursor.fetchone()
if row:
 print row

   I'd like to actually see SQL
output here?)



Try this:

>>> results = cursor.execute("select * from project")
>>> row = results.fetchone()
>>> print row

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


Re: Standard Asynchronous Python

2012-09-10 Thread Terry Reedy

On 9/10/2012 7:36 AM, Dustin J. Mitchell wrote:

The responses have certainly highlighted some errors in emphasis in my approach.

* My idea is to propose a design PEP. (Steven, Dennis) I'm not at
*all* suggesting including uthreads in the standard library.  It's a
toy implementation I used to develop my ideas.  I think of this as a
much smaller idea in the same vein as the DBAPI (PEP 249): a common
set of expectations that allows portability.


That has been very successful.


* I'd like to set aside the issue of threads vs. event-driven
programming.  There are legitimate reasons to do both, and the healthy
ecosystem of frameworks for the latter indicates at least some people
are interested.  My idea is to introduce a tiny bit of coherence
across those frameworks.


I think many developers recognize that some improvment in coherence 
would be a good idea. I occasionally read that *someone* is working on 
common event loop approach, though it has not materialized yet.



I will need to take up the details of the idea with the developers of
the async frameworks themselves, and get some agreement before
actually proposing the PEP.  However, among this group I'm interested
to know whether this is an appropriate use of a design PEP.


I think so.

> That's why I posted my old and flawed PEP text, rather than re-drafting

first.


I think you should do a bit of editing now, even if not a full redraft.

--
Terry Jan Reedy

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


Re: SAP MM Cupertino, CA

2012-09-10 Thread Emile van Sebille

On 9/10/2012 7:58 AM Ramchandra Apte said...

On Monday, 10 September 2012 18:51:10 UTC+5:30, Suresh Kumar  wrote:



delete the original message.


Marking this as abusive in Google Groups - this seems like spam.
Please explain what does this have to do with Python.


Please learn to trim -- your reposting of the entire 'abusive' post is 
in and of itself abusive.


Emile



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


Re: Comparing strings from the back?

2012-09-10 Thread Oscar Benjamin
On 2012-09-10, Dan Goodman  wrote:
> On 04/09/2012 03:54, Roy Smith wrote:
>> Let's assume you're testing two strings for equality.  You've already
>> done the obvious quick tests (i.e they're the same length), and you're
>> down to the O(n) part of comparing every character.
>>
>> I'm wondering if it might be faster to start at the ends of the strings
>> instead of at the beginning?  If the strings are indeed equal, it's the
>> same amount of work starting from either end.  But, if it turns out that
>> for real-life situations, the ends of strings have more entropy than the
>> beginnings, the odds are you'll discover that they're unequal quicker by
>> starting at the end.
>
>  From the rest of the thread, it looks like in most situations it won't 
> make much difference as typically very few characters need to be 
> compared if they are unequal.
>
> However, if you were in a situation with many strings which were almost 
> equal, the most general way to improve the situation might be store a 
> hash of the string along with the string, i.e. store (hash(x), x) and 
> then compare equality of this tuple. Almost all of the time, if the 
> strings are unequal the hash will be unequal. Or, as someone else 
> suggested, use interned versions of the strings. This is basically the 
> same solution but even better. In this case, your startup costs will be 
> higher (creating the strings) but your comparisons will always be instant.
>

Computing the hash always requires iterating over all characters in the string
so is best case O(N) where string comparison is best case (and often average
case) O(1).

Also, so far as I know the hash value once computed is stored on the string
object itself [1] and used for subsequent string comparisons so there's no
need for you to do that in your code.

Oscar

[1] http://hg.python.org/cpython/file/71d94e79b0c3/Include/unicodeobject.h#l293

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


How to timeout a recv() on an ssl connection?

2012-09-10 Thread Grant Edwards
I can't figure out how to timeout a recv() on an SSLSocket -- I'm using
Python 2.6 nad  2.7. Here's what I've got so far (it needs to work on
either a plain or SSL socket):

s.settimeout(timeout)
try:
b = ord(s.recv(1))
except socket.timeout:
return None
except ssl.SSLError as e:
if e.message == 'The read operation timed out':
return None
else:
raise
finally:
s.settimeout(None)
 

It works fine on normal sockets.  With an SSLSocket, it works the
first time it's called with timeout set to something other than None
(it times out properly). Subsequence reads with timeout set to None
work, but then the second time it's called with a non-None timeout, it
hangs for several minutes, and then the recv() returns an empty
string.

-- 
Grant Edwards   grant.b.edwardsYow! This PORCUPINE knows
  at   his ZIPCODE ... And he has
  gmail.com"VISA"!!
-- 
http://mail.python.org/mailman/listinfo/python-list


how to get os.py to use an ./ntpath.py instead of Lib/ntpath.py

2012-09-10 Thread ruck
In Python 2.7.2 on Windows 7,

os.walk() uses isdir(),
which comes from os.path,
which really comes from ntpath.py,
which really comes from genericpath.py

I want os.walk() to use a modified isdir() on my Windows 7.
Not knowing any better, it seems to me like ntpath.py would be a good place to 
intercept.

When os.py does "import ntpath as path",
how can I get python to process my customized ntpath.py 
instead of Lib/ntpath.py ?

Thanks for any comments.
John

BTW, here's my mod to ntpath.py:
$ diff ntpath.py.standard ntpath.py
14c14,19
< from genericpath import *
---
> from genericpath import *
>
> def isdir(s):
> return genericpath.isdir('?\\' + abspath(s + '\\'))
> def isfile(s):
> return genericpath.isfile('?\\' + abspath(s + '\\'))

Why?  Because the genericpath implementation relies on os.stat() which
uses Windows API function that presumes or enforces some naming
conventions like "doesn't end with a space or a period".
But the NTFS actually supports such filenames and dirnames, and some sw
(like cygwin) lets users make files & dirs without restricting.
So, cygwin users like me may have file 'voo...\\doo' which os.walk()
cannot ordinarily walk.  That is, the isdir('voo...') returns false
because the underlying os.stat is assessing 'voo' instead of 'voo...' .
The workaround is to pass os.stat a fullpathname that is prefixed
with r'\\?\' so the Windows API recognizes that you do NOT want the
name filtered.

Better said by Microsoft:
"For file I/O, the "\\?\" prefix to a path string tells 
the Windows APIs to disable all string parsing and to 
send the string that follows it straight to the file 
system. For example, if the file system supports large 
paths and file names, you can exceed the MAX_PATH limits 
that are otherwise enforced by the Windows APIs." 
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Comparing strings from the back?

2012-09-10 Thread Dan Goodman

On 10/09/2012 18:33, Oscar Benjamin wrote:

Computing the hash always requires iterating over all characters in the string
so is best case O(N) where string comparison is best case (and often average
case) O(1).


Yep, but you already have O(N) costs just creating the strings in the 
first place, so it's absorbed into that. It's only worth doing if you do 
many comparisons.



Also, so far as I know the hash value once computed is stored on the string
object itself [1] and used for subsequent string comparisons so there's no
need for you to do that in your code.


Cool, Python is very clever as always! :)

Dan

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


Re: How to timeout a recv() on an ssl connection?

2012-09-10 Thread Grant Edwards
On 2012-09-10, Grant Edwards  wrote:
> I can't figure out how to timeout a recv() on an SSLSocket -- I'm using
> Python 2.6 nad  2.7. Here's what I've got so far (it needs to work on
> either a plain or SSL socket):
>
> s.settimeout(timeout)
> try:
> b = ord(s.recv(1))
> except socket.timeout:
> return None
> except ssl.SSLError as e:
> if e.message == 'The read operation timed out':
> return None
> else:
> raise
> finally:
> s.settimeout(None)
>  
>
> It works fine on normal sockets.  With an SSLSocket, it works the
> first time it's called with timeout set to something other than None
> (it times out properly). Subsequence reads with timeout set to None
> work, but then the second time it's called with a non-None timeout, it
> hangs for several minutes, and then the recv() returns an empty
> string.

Doh! Never mind.

The above code does appear to be working correctly.  I had a different
bug that was misleading me...


-- 
Grant Edwards   grant.b.edwardsYow! What GOOD is a
  at   CARDBOARD suitcase ANYWAY?
  gmail.com
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Comparing strings from the back?

2012-09-10 Thread Dan Goodman

On 10/09/2012 18:07, Dan Goodman wrote:

On 04/09/2012 03:54, Roy Smith wrote:

Let's assume you're testing two strings for equality.  You've already
done the obvious quick tests (i.e they're the same length), and you're
down to the O(n) part of comparing every character.

I'm wondering if it might be faster to start at the ends of the strings
instead of at the beginning?  If the strings are indeed equal, it's the
same amount of work starting from either end.  But, if it turns out that
for real-life situations, the ends of strings have more entropy than the
beginnings, the odds are you'll discover that they're unequal quicker by
starting at the end.


 From the rest of the thread, it looks like in most situations it won't
make much difference as typically very few characters need to be
compared if they are unequal.

However, if you were in a situation with many strings which were almost
equal, the most general way to improve the situation might be store a
hash of the string along with the string, i.e. store (hash(x), x) and
then compare equality of this tuple. Almost all of the time, if the
strings are unequal the hash will be unequal. Or, as someone else
suggested, use interned versions of the strings. This is basically the
same solution but even better. In this case, your startup costs will be
higher (creating the strings) but your comparisons will always be instant.


Just had another thought about this. Although it's unlikely to be 
necessary in practice since (a) it's rarely necessary at all, and (b) 
when it is, hashing and optionally interning seems like the better 
approach, I had another idea that would be more general. Rather than 
starting from the beginning or the end, why not do something like: check 
the first and last character, then the len/2 character, then the len/4, 
then 3*len/4, then len/8, 3*len/8, etc. You'd need to be a bit clever 
about making sure you hit every character but I'm sure someone's already 
got an efficient algorithm for this. You could probably even make this 
cache efficient by working on cache line length blocks. Almost certainly 
entirely unnecessary, but I like the original question and it's a nice 
theoretical problem.


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


Re: pyQT performance?

2012-09-10 Thread Vincent Vande Vyvre
Le 10/09/12 19:24, [email protected] a écrit :
> Anybody has the experience of the performance of the program developed by 
> pyQT? Is it much slower than the one made by QT, such as (20%)?
>
For my experience, 20% is really surestimated.

I'm developping only with PyQt and essentially in the imaging domain
(viewing, transformation)
and I've never seen a difference of processing speed with the same
applications written in C++.

Qt + Python, a very good association.

-- 
Vincent V.V.
Oqapy  . Qarte
 . PaQager 
-- 
http://mail.python.org/mailman/listinfo/python-list


Wing IDE 4.1.8 released

2012-09-10 Thread Wingware

Hi,

Wingware has released version 4.1.8 of Wing IDE, our integrated development
environment designed specifically for the Python programming language.

Wing IDE provides a professional quality code editor with vi, emacs, and 
other
key bindings, auto-completion, call tips, refactoring, context-aware 
auto-editing,
a powerful graphical debugger, version control, unit testing, search, 
and many

other features.  For details see http://wingware.com/

This minor release includes:

Added How-Tos for The Foundry's NUKE/NUKEX and IDA Python
Track file operations in Project at the revision control level
Accept glob style wildcards for Filter in Search in Files
Support analysis of extension modules within zip archives
Fix searching of documentation
Several VI mode files
Several auto-editing and auto-completion fixes
Fix excessive memory use by the Perforce integration
Copy existing window's tool layout when creating new windows
Less confusing auto-save recovery
About 35 other bug fixes and minor improvements

For a complete change log see 
http://wingware.com/pub/wingide/4.1.8/CHANGELOG.txt


Free trial: http://wingware.com/wingide/trial
Downloads:  http://wingware.com/downloads
Feature matrix: http://wingware.com/wingide/features
More information:   http://wingware.com/
Sales:  http://wingware.com/store/purchase
Upgrades:   https://wingware.com/store/upgrade

Questions?  Don't hesitate to email us at [email protected].

Thanks,

--

Stephan Deibel
Wingware | Python IDE
Advancing Software Development

www.wingware.com

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


Re: pyQT performance?

2012-09-10 Thread jayden . shui
On Monday, September 10, 2012 2:06:59 PM UTC-4, Vincent Vande Vyvre wrote:
> Le 10/09/12 19:24, [email protected] a écrit :
> 
> > Anybody has the experience of the performance of the program developed by 
> > pyQT? Is it much slower than the one made by QT, such as (20%)?
> 
> >
> 
> For my experience, 20% is really surestimated.
> 
> 
> 
> I'm developping only with PyQt and essentially in the imaging domain
> 
> (viewing, transformation)
> 
> and I've never seen a difference of processing speed with the same
> 
> applications written in C++.
> 
> 
> 
> Qt + Python, a very good association.
> 
> 
> 
> -- 
> 
> Vincent V.V.
> 
> Oqapy  . Qarte
> 
>  . PaQager 

Have you ever used py2exe? After converting the python codes to executable, 
does it save the time of interpreting the script language? Thank a lot!
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: pyQT performance?

2012-09-10 Thread Andrea Crotti

On 09/10/2012 07:29 PM, [email protected] wrote

Have you ever used py2exe? After converting the python codes to executable, 
does it save the time of interpreting the script language? Thank a lot!


Py2exe normally never speeds up anything, simply because it doesn't 
convert to executable, but simply
package everything together, so I haven't tried in this particular case 
but it shouldn't make a difference..

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


Numpy combine channels

2012-09-10 Thread Wanderer
I have an array generated by audiolab of left and right stereo channels. It 
looks like [[1,1],[1,2],[2,3]]. I would like to combine the left and right 
channels to get an array [2,3,5]. Is there a numpy command to do that?

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


Re: Numpy combine channels

2012-09-10 Thread Wanderer
On Monday, September 10, 2012 3:39:11 PM UTC-4, Wanderer wrote:
> I have an array generated by audiolab of left and right stereo channels. It 
> looks like [[1,1],[1,2],[2,3]]. I would like to combine the left and right 
> channels to get an array [2,3,5]. Is there a numpy command to do that?
> 
> 
> 
> Thanks

I figured it out. numpy.sum(array, axis=1). 
-- 
http://mail.python.org/mailman/listinfo/python-list


RE: Numpy combine channels

2012-09-10 Thread Nick Cash
> I have an array generated by audiolab of left and right stereo
> channels. It looks like [[1,1],[1,2],[2,3]]. I would like to combine
> the left and right channels to get an array [2,3,5]. Is there a numpy
> command to do that?

You may be over-thinking this, and numpy might not be necessary.

A simple solution would be just a quick list comprehension:

stereo_array = [[1, 1], [1, 2], [2, 3]]
mono_array = [l+r for (l, r) in stereo_array]

Thanks,
Nick Cash


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


Re: Numpy combine channels

2012-09-10 Thread MRAB

On 10/09/2012 20:39, Wanderer wrote:

I have an array generated by audiolab of left and right stereo
channels. It looks like [[1,1],[1,2],[2,3]]. I would like to combine
the left and right channels to get an array [2,3,5]. Is there a numpy
command to do that?


import numpy
numpy.array([[1,1],[1,2],[2,3]], dtype="i")

array([[1, 1],
   [1, 2],
   [2, 3]])

a[:, 0]

array([1, 1, 2])

a[:, 1]

array([1, 2, 3])

a[:, 0] + a[:, 1]

array([2, 3, 5])

But should they be added together to make mono?

Suppose, for example, that both channels have a maximum value. Their
sum would be _twice_ the maximum.

Therefore, I think that it should probably be the average.

>>> (a[:, 0] + a[:, 1]) / 2
array([1, 1, 2])
--
http://mail.python.org/mailman/listinfo/python-list


Re: Numpy combine channels

2012-09-10 Thread Wanderer
On Monday, September 10, 2012 4:12:40 PM UTC-4, MRAB wrote:
> On 10/09/2012 20:39, Wanderer wrote:
> 
> > I have an array generated by audiolab of left and right stereo
> 
> > channels. It looks like [[1,1],[1,2],[2,3]]. I would like to combine
> 
> > the left and right channels to get an array [2,3,5]. Is there a numpy
> 
> > command to do that?
> 
> >
> 
> >>> import numpy
> 
> >>> numpy.array([[1,1],[1,2],[2,3]], dtype="i")
> 
> array([[1, 1],
> 
> [1, 2],
> 
> [2, 3]])
> 
> >>> a[:, 0]
> 
> array([1, 1, 2])
> 
> >>> a[:, 1]
> 
> array([1, 2, 3])
> 
> >>> a[:, 0] + a[:, 1]
> 
> array([2, 3, 5])
> 
> 
> 
> But should they be added together to make mono?
> 
> 
> 
> Suppose, for example, that both channels have a maximum value. Their
> 
> sum would be _twice_ the maximum.
> 
> 
> 
> Therefore, I think that it should probably be the average.
> 
> 
> 
>  >>> (a[:, 0] + a[:, 1]) / 2
> 
> array([1, 1, 2])

I'm decoding morse code. So it's CV dots and dashes.
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: set and dict iteration

2012-09-10 Thread 88888 Dihedral
Paul Rubin於 2012年8月17日星期五UTC+8上午9時01分39秒寫道:
> Ian Kelly  writes:
> 
> > With regard to key insertion and deletion while iterating over a dict
> 
> > or set, though, there is just no good reason to be doing that
> 
> > (especially as the result is very implementation-specific), and I
> 
> > wouldn't mind a more complete low-level check against it as long as
> 
> > it's not too expensive (which is not clearly the case with the current
> 
> > suggestion at all).
> 
> 
> 
> One possible approach is to freeze the dictionary against modification
> 
> while any iterator is open on it.  You could keep a count of active
> 
> iterators in the dict structure, adjusting it whenever an iterator is
> 
> created or closed/destroyed.

If there is only one iterator of a frozen dictionary,
then nothing is saved.

But if there are manny iterators based on the same frozen dictionary, 
this approach saves a lot. 



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


Re: Numpy combine channels

2012-09-10 Thread Wanderer
On Monday, September 10, 2012 4:14:18 PM UTC-4, Wanderer wrote:
> On Monday, September 10, 2012 4:12:40 PM UTC-4, MRAB wrote:
> 
> > On 10/09/2012 20:39, Wanderer wrote:
> 
> > 
> 
> > > I have an array generated by audiolab of left and right stereo
> 
> > 
> 
> > > channels. It looks like [[1,1],[1,2],[2,3]]. I would like to combine
> 
> > 
> 
> > > the left and right channels to get an array [2,3,5]. Is there a numpy
> 
> > 
> 
> > > command to do that?
> 
> > 
> 
> > >
> 
> > 
> 
> > >>> import numpy
> 
> > 
> 
> > >>> numpy.array([[1,1],[1,2],[2,3]], dtype="i")
> 
> > 
> 
> > array([[1, 1],
> 
> > 
> 
> > [1, 2],
> 
> > 
> 
> > [2, 3]])
> 
> > 
> 
> > >>> a[:, 0]
> 
> > 
> 
> > array([1, 1, 2])
> 
> > 
> 
> > >>> a[:, 1]
> 
> > 
> 
> > array([1, 2, 3])
> 
> > 
> 
> > >>> a[:, 0] + a[:, 1]
> 
> > 
> 
> > array([2, 3, 5])
> 
> > 
> 
> > 
> 
> > 
> 
> > But should they be added together to make mono?
> 
> > 
> 
> > 
> 
> > 
> 
> > Suppose, for example, that both channels have a maximum value. Their
> 
> > 
> 
> > sum would be _twice_ the maximum.
> 
> > 
> 
> > 
> 
> > 
> 
> > Therefore, I think that it should probably be the average.
> 
> > 
> 
> > 
> 
> > 
> 
> >  >>> (a[:, 0] + a[:, 1]) / 2
> 
> > 
> 
> > array([1, 1, 2])
> 
> 
> 
> I'm decoding morse code. So it's CV dots and dashes.

In case anyone is interested, here is the full code.

# morsecode.py
import numpy as np
from scikits.audiolab import wavread
from scipy.signal import decimate
from pylab import plot
from pylab import show
import os

def movingaverage(interval, window_size):
window = np.ones(int(window_size)) / float(window_size)
return np.convolve(interval, window, 'same')

def wav2morse(resultDir, filename):
""" Convert a wave file to morse code
resultDir: directory for wave file and results
filename: wave file name

"""
data, _fs, _enc = wavread(resultDir + '\\' + filename)
data = np.sum(data, axis=1)
data = np.fabs(data)
data = movingaverage(data, 100)
data = decimate(data, 2)
highcount = 0
lowcount = 0
fileBase, _fileExt = os.path.splitext(filename)
f = open(resultDir + '\\' + fileBase + '.txt', 'w')
for d in data:
if d > 0.3:
if lowcount > 3000:
f.write(' ')
lowcount = 0
highcount += 1
else:
if highcount > 3000:
f.write('-')
elif highcount > 1000:
f.write('.')
highcount = 0
lowcount += 1
f.close()
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: how to get os.py to use an ./ntpath.py instead of Lib/ntpath.py

2012-09-10 Thread Steven D'Aprano
On Mon, 10 Sep 2012 10:25:29 -0700, ruck wrote:

> In Python 2.7.2 on Windows 7,
> 
> os.walk() uses isdir(),
> which comes from os.path,
> which really comes from ntpath.py,
> which really comes from genericpath.py
> 
> I want os.walk() to use a modified isdir() on my Windows 7. Not knowing
> any better, it seems to me like ntpath.py would be a good place to
> intercept.
> 
> When os.py does "import ntpath as path", how can I get python to process
> my customized ntpath.py instead of Lib/ntpath.py ?

import os
os.path.isdir = my_isdir

ought to do it.

This general technique is called "monkey-patching". The Ruby community is 
addicted to it. Everybody else -- and a goodly number of the more 
sensible Ruby crowd -- consider it a risky, dirty hack that 99 times out 
of 100 will lead to blindness, moral degeneracy and subtle, hard-to-fix 
bugs.

They are right to be suspicious of it. As a general rule, monkey-patching 
is not for production code. You have been warned.

http://www.codinghorror.com/blog/2008/07/monkeypatching-for-humans.html


[...]
> Why?  Because the genericpath implementation relies on os.stat() which
> uses Windows API function that presumes or enforces some naming
> conventions like "doesn't end with a space or a period". But the NTFS
> actually supports such filenames and dirnames, and some sw (like cygwin)
> lets users make files & dirs without restricting. So, cygwin users like
> me may have file 'voo...\\doo' which os.walk() cannot ordinarily walk. 
> That is, the isdir('voo...') returns false because the underlying
> os.stat is assessing 'voo' instead of 'voo...' . 

Please consider submitting a patch that adds support for cygwin paths to 
the standard library. You'll need to target 3.4 though, 2.7 is now a 
maintenance release with no new features allowed.


> The workaround is to
> pass os.stat a fullpathname that is prefixed with r'\\?\' so the Windows
> API recognizes that you do NOT want the name filtered.
> 
> Better said by Microsoft:
> "For file I/O, the "\\?\" prefix to a path string tells the Windows APIs
> to disable all string parsing and to send the string that follows it
> straight to the file system.

That's not so much a workaround as the officially supported API for 
dealing with the situation you are in. Why don't you just prepend a '?' 
to paths like they tell you to?


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


python CAD libraries?

2012-09-10 Thread Jayden
Are there any python CAD libraries that can

(1) build simple 3D primitives solids such as spheres, cylinders and so on
(2) perform bool operations on 3D solids
(3) better if it has some transformations such has scaling, sweeping, and 
lofting

Please recommend some good ones for me? Thanks a lot!!
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: python CAD libraries?

2012-09-10 Thread Gary Herron

On 09/10/2012 02:10 PM, Jayden wrote:

Are there any python CAD libraries that can

(1) build simple 3D primitives solids such as spheres, cylinders and so on
(2) perform bool operations on 3D solids
(3) better if it has some transformations such has scaling, sweeping, and 
lofting

Please recommend some good ones for me? Thanks a lot!!


Try PythonCAD:  http://sourceforge.net/projects/pythoncad/

(Google would have been faster. :-) )

Gary Herron

--
Dr. Gary Herron
Department of Computer Science
DigiPen Institute of Technology
(425) 895-4418

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


Re: Parsing ISO date/time strings - where did the parser go?

2012-09-10 Thread Rhodri James

On Sun, 09 Sep 2012 13:14:30 +0100, Roy Smith  wrote:


In article ,
 Thomas Jollans  wrote:


The ISO date/time format is dead simple and well-defined.



Well defined, perhaps.  But nobody who has read the standard could call
it "dead simple".  ISO-8601-2004(E) is 40 pages long.


A short standard, then :-)

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


Re: python CAD libraries?

2012-09-10 Thread Jayden
On Monday, September 10, 2012 5:30:08 PM UTC-4, Gary Herron wrote:
> On 09/10/2012 02:10 PM, Jayden wrote:
> 
> > Are there any python CAD libraries that can
> 
> >
> 
> > (1) build simple 3D primitives solids such as spheres, cylinders and so on
> 
> > (2) perform bool operations on 3D solids
> 
> > (3) better if it has some transformations such has scaling, sweeping, and 
> > lofting
> 
> >
> 
> > Please recommend some good ones for me? Thanks a lot!!
> 
> 
> 
> Try PythonCAD:  http://sourceforge.net/projects/pythoncad/
> 
> 
> 
> (Google would have been faster. :-) )
> 
> 
> 
> Gary Herron
> 
> 
> 
> -- 
> 
> Dr. Gary Herron
> 
> Department of Computer Science
> 
> DigiPen Institute of Technology
> 
> (425) 895-4418

Thank you. But this is for 2D.
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Comparing strings from the back?

2012-09-10 Thread Oscar Benjamin
On 2012-09-10, Dan Goodman  wrote:
> On 10/09/2012 18:07, Dan Goodman wrote:
>> On 04/09/2012 03:54, Roy Smith wrote:
>>> Let's assume you're testing two strings for equality.  You've already
>>> done the obvious quick tests (i.e they're the same length), and you're
>>> down to the O(n) part of comparing every character.
>>>
>>> I'm wondering if it might be faster to start at the ends of the strings
>>> instead of at the beginning?  If the strings are indeed equal, it's the
>>> same amount of work starting from either end.  But, if it turns out that
>>> for real-life situations, the ends of strings have more entropy than the
>>> beginnings, the odds are you'll discover that they're unequal quicker by
>>> starting at the end.
>>
>>  From the rest of the thread, it looks like in most situations it won't
>> make much difference as typically very few characters need to be
>> compared if they are unequal.
>>
>> However, if you were in a situation with many strings which were almost
>> equal, the most general way to improve the situation might be store a
>> hash of the string along with the string, i.e. store (hash(x), x) and
>> then compare equality of this tuple. Almost all of the time, if the
>> strings are unequal the hash will be unequal. Or, as someone else
>> suggested, use interned versions of the strings. This is basically the
>> same solution but even better. In this case, your startup costs will be
>> higher (creating the strings) but your comparisons will always be instant.
>
> Just had another thought about this. Although it's unlikely to be 
> necessary in practice since (a) it's rarely necessary at all, and (b) 
> when it is, hashing and optionally interning seems like the better 
> approach, I had another idea that would be more general. Rather than 
> starting from the beginning or the end, why not do something like: check 
> the first and last character, then the len/2 character, then the len/4, 
> then 3*len/4, then len/8, 3*len/8, etc. You'd need to be a bit clever 
> about making sure you hit every character but I'm sure someone's already 
> got an efficient algorithm for this. You could probably even make this 
> cache efficient by working on cache line length blocks. Almost certainly 
> entirely unnecessary, but I like the original question and it's a nice 
> theoretical problem.

It's not totally theoretical in the sense that the reasoning applies to all
sequence comparisons. If you needed to compare lists of objects where the
comparison of each pair of elements was an expensive operation then you would
want to think carefully about what order you used. Also in general you can't
hash/intern all sequences.

If I was going to change the order of comparisons for all strings then I would
use a random order. This is essentially how dict gets away with claiming to
have O(1) lookup. There are sequences of inputs that can cause every possible
hash collision to occur but because the hash function acts as a kind of
randomisation filter the pathological sequences are very unlikely to occur
unless someone is going out of their way. The clever way that Python 3.3
prevents someone from even doing this on purpose is just to introduce
additional per-process randomisation.

The difference between dict lookup and string comparison is that string
comparison always compares the characters in the same order and it corresponds
to the natural ordering of the data. This means that some pefectly natural use
cases like comparing file-paths can have close to worst case behaviour. If
string/sequence comparison occurs in a random order then there can be no use
case where the likely strings would induce close to worst case behaviour
unless you really are just comparing lots of almost identical sequences.

Oscar

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


Re: Newbie: where's the new python gone?

2012-09-10 Thread William R. Wing (Bill Wing)
On Sep 10, 2012, at 11:17 AM, Bob Aalsma  wrote:

> Well, Bill, better late than never - thanks for stepping in.
> You are right, my problems are not yet solved ;)

As Hans pointed out, you are looking for python, not Python (the frameworks are 
named Python, the executable is python).  Sorry about that.

To eliminate the output from TimeMachine (assuming it is using an external 
drive or a TimeCapsule), add one more option to the find command:

$ sudo find -x / -name python -print  (or follow his directions for piping to a 
file).

The -x option prevents find from descending into a volume with a different 
device number from the one you started on.

-Bill

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


Re: how to get os.py to use an ./ntpath.py instead of Lib/ntpath.py

2012-09-10 Thread ruck
On Monday, September 10, 2012 1:16:13 PM UTC-7, Steven D'Aprano wrote:
> On Mon, 10 Sep 2012 10:25:29 -0700, ruck wrote:
> 
> 
> 
> > In Python 2.7.2 on Windows 7,
> 
> > 
> 
> > os.walk() uses isdir(),
> 
> > which comes from os.path,
> 
> > which really comes from ntpath.py,
> 
> > which really comes from genericpath.py
> 
> > 
> 
> > I want os.walk() to use a modified isdir() on my Windows 7. Not knowing
> 
> > any better, it seems to me like ntpath.py would be a good place to
> 
> > intercept.
> 
> > 
> 
> > When os.py does "import ntpath as path", how can I get python to process
> 
> > my customized ntpath.py instead of Lib/ntpath.py ?
> 
> 
> 
> import os
> 
> os.path.isdir = my_isdir
> 
> 
> 
> ought to do it.
> 
> 
> 
> This general technique is called "monkey-patching". The Ruby community is 
> 
> addicted to it. Everybody else -- and a goodly number of the more 
> 
> sensible Ruby crowd -- consider it a risky, dirty hack that 99 times out 
> 
> of 100 will lead to blindness, moral degeneracy and subtle, hard-to-fix 
> 
> bugs.
> 
> 
> 
> They are right to be suspicious of it. As a general rule, monkey-patching 
> 
> is not for production code. You have been warned.
> 
> 
> 
> http://www.codinghorror.com/blog/2008/07/monkeypatching-for-humans.html
> 
> 
> 
> 
> 
> [...]
> 
> > Why?  Because the genericpath implementation relies on os.stat() which
> 
> > uses Windows API function that presumes or enforces some naming
> 
> > conventions like "doesn't end with a space or a period". But the NTFS
> 
> > actually supports such filenames and dirnames, and some sw (like cygwin)
> 
> > lets users make files & dirs without restricting. So, cygwin users like
> 
> > me may have file 'voo...\\doo' which os.walk() cannot ordinarily walk. 
> 
> > That is, the isdir('voo...') returns false because the underlying
> 
> > os.stat is assessing 'voo' instead of 'voo...' . 
> 
> 
> 
> Please consider submitting a patch that adds support for cygwin paths to 
> 
> the standard library. You'll need to target 3.4 though, 2.7 is now a 
> 
> maintenance release with no new features allowed.
> 
> 
> 
> 
> 
> > The workaround is to
> 
> > pass os.stat a fullpathname that is prefixed with r'\\?\' so the Windows
> 
> > API recognizes that you do NOT want the name filtered.
> 
> > 
> 
> > Better said by Microsoft:
> 
> > "For file I/O, the "\\?\" prefix to a path string tells the Windows APIs
> 
> > to disable all string parsing and to send the string that follows it
> 
> > straight to the file system.
> 
> 
> 
> That's not so much a workaround as the officially supported API for 
> 
> dealing with the situation you are in. Why don't you just prepend a '?' 
> 
> to paths like they tell you to?
> 
> 
> 
> 
> 
> -- 
> 
> Steven

Steven says:
 That's not so much a workaround as the officially supported API for 
 dealing with the situation you are in. Why don't you just prepend a '?' 
 to paths like they tell you to?

Good idea, but the first thing os.walk() does is a listdir(), and os.listdir() 
does not like the r'\\?\' prefix.  In other words, 
os.walk(r'\\?\C:Users\john\Desktop\sandbox\goo') 
does not work.

Also, your recipe worked for me -- 
I'm walking 'goo' which contains 'voo.../doo'

import os

import genericpath
def my_isdir(s):
return genericpath.isdir('?\\' + os.path.abspath(s + '\\'))

print 'os.walk(\'goo\') with standard isdir()'
for root, dirs, files in os.walk('goo'):
print root, dirs, files

print 'os.walk(\'goo\') with modified isdir()'
os.path.isdir = my_isdir
for root, dirs, files in os.walk('goo'):
print root, dirs, files

yields

os.walk('goo') with standard isdir()
goo [] ['voo...']
os.walk('goo') with modified isdir()
goo ['voo...'] []
goo\voo... [] ['doo']

About monkeypatching, generally -- thanks for the pointer to that discussion.  
That sounded like a lot of wisdom and lessons learned being shared.
About me suggesting a patch -- I'll sleep on that :)

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


delay on windows when processing Pygame events

2012-09-10 Thread Vojtěch Polášek
Greetings,
I am writing a simple game for visually impaired in pygame. I use this
construction:

while running == True:
for event in pygame.event.get():
if event.type == blahblahblah, #processing various events
blahblahblah, contiuing the code after events are analysed

I am looking mainly for keyboard events. I notice a quite nonnegligible
lag when running this under Windows XP, when compared to the same code
on Ubuntu 12.04.
Python and pygame version should be the same:
Python 2.7.3
pygame 1.9.1
Can anyone please help me?
Thank you,
Vojta
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Parsing ISO date/time strings - where did the parser go?

2012-09-10 Thread Chris Angelico
On Tue, Sep 11, 2012 at 7:46 AM, Rhodri James
 wrote:
> On Sun, 09 Sep 2012 13:14:30 +0100, Roy Smith  wrote:
>
>> In article ,
>>  Thomas Jollans  wrote:
>>
>>> The ISO date/time format is dead simple and well-defined.
>
>
>> Well defined, perhaps.  But nobody who has read the standard could call
>> it "dead simple".  ISO-8601-2004(E) is 40 pages long.
>
>
> A short standard, then :-)

What is it that takes up forty pages? RFC 2822 describes a date/time
stamp in about two pages. In fact, the whole RFC describes the
Internet Message Format in not much more than 40 pages. Is
ISO-language just bloated?

*boggle*

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


Re: delay on windows when processing Pygame events

2012-09-10 Thread Joshua Landau
On 10 September 2012 23:25, Vojtěch Polášek  wrote:

> while running == True:
> for event in pygame.event.get():
> if event.type == blahblahblah, #processing various events
> blahblahblah, contiuing the code after events are analysed
>
> I am looking mainly for keyboard events. I notice a quite nonnegligible
> lag when running this under Windows XP, when compared to the same code
> on Ubuntu 12.04.
>

I do not have WinXP available, but if you want the best help from this
board you should post the *exact* code that you are running. I don't think
anyone has ever complained of code lasting a page or so (although any more
and it becomes a bit of a chore :P). It does help. How are you sure that it
is pygame.event.get() that is lagging? Have you tried """
while True:
for e in pygame.event.get(): pass
"""* or even "while True: pygame.event.get()"*? If you have not, would it
not be something else? How are you measuring the lag and what type is it
(late signals? program freezes?)?

*Obviously you need to add code that tells you whether it's on time, but
I'm not sure how you're doing that currently.

I'm not saying this to be harsh and if I could I would look further into
the question, but I am trying to ask what I would probably need to know if
I did have a Windows installation.

Or it could be a known bug. Eh.
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Parsing ISO date/time strings - where did the parser go?

2012-09-10 Thread Roy Smith
In article ,
 Chris Angelico  wrote:

> On Tue, Sep 11, 2012 at 7:46 AM, Rhodri James
>  wrote:
> > On Sun, 09 Sep 2012 13:14:30 +0100, Roy Smith  wrote:
> >
> >> In article ,
> >>  Thomas Jollans  wrote:
> >>
> >>> The ISO date/time format is dead simple and well-defined.
> >
> >
> >> Well defined, perhaps.  But nobody who has read the standard could call
> >> it "dead simple".  ISO-8601-2004(E) is 40 pages long.
> >
> >
> > A short standard, then :-)
> 
> What is it that takes up forty pages? RFC 2822 describes a date/time
> stamp in about two pages. In fact, the whole RFC describes the
> Internet Message Format in not much more than 40 pages. Is
> ISO-language just bloated?
> 
> *boggle*

You can find a copy at http://dotat.at/tmp/ISO_8601-2004_E.pdf
-- 
http://mail.python.org/mailman/listinfo/python-list


a python license problem?

2012-09-10 Thread Jayden
Python is under GPL compatible. If I develop a python code, convert it to 
executable and distribute the executable as a commercial software. May I need 
to make my source code open?

If python is under GPL, is the answer different? Thanks a lot!!
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: a python license problem?

2012-09-10 Thread Benjamin Kaplan
On Mon, Sep 10, 2012 at 7:58 PM, Jayden  wrote:
> Python is under GPL compatible. If I develop a python code, convert it to 
> executable and distribute the executable as a commercial software. May I need 
> to make my source code open?
>
> If python is under GPL, is the answer different? Thanks a lot!!
> --
> http://mail.python.org/mailman/listinfo/python-list

"GPL compatible" is not a license. It's a quality of the license.
Python's license is compatible with the GPL, which means that you can
use Python in software licensed under the GPL

Python's license (which is available at
http://docs.python.org/license.html ) does not require Python code to
be open source, nor does it prohibit commercial use.

And even if Python was under the GPL, you would still be able to
release your own programs without opening the source. You just
wouldn't be able to modify Python without releasing your changes.
That's how the userland in Mac OS X is still closed-source despite
being compiled with GCC.
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: how to get os.py to use an ./ntpath.py instead of Lib/ntpath.py

2012-09-10 Thread Steven D'Aprano
On Mon, 10 Sep 2012 15:22:05 -0700, ruck wrote:

> On Monday, September 10, 2012 1:16:13 PM UTC-7, Steven D'Aprano wrote:
[...]
> > That's not so much a workaround as the officially supported API for
> > dealing with the situation you are in. Why don't you just prepend a 
> > '?' to paths like they tell you to?
> 
> Good idea, but the first thing os.walk() does is a listdir(), and
> os.listdir() does not like the r'\\?\' prefix.  In other words,
> os.walk(r'\\?\C:Users\john\Desktop\sandbox\goo') does not work.

Now that sounds like a bug to me. If Microsoft officially support 
leading ? in file names, then so should Python on Windows.


> Also, your recipe worked for me --
> I'm walking 'goo' which contains 'voo.../doo'

Good for you. (Sorry, that comes across as more condescending than it is 
intended as.) Monkey-patching often gets used for quick scripts and tiny 
pieces of code because it works.

Just beware that if you extend that technique to larger bodies of code, 
say when using a large framework, or multiple libraries, your experience 
may not be quite so good. Especially if *they* are monkey-patching too, 
as some very large frameworks sometimes do. (Or so I am lead to believe.)

The point is not that monkey-patching is dangerous and should never be 
used, but that it is risky and should be used with caution.



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


submit jobs on multi-core

2012-09-10 Thread Dhananjay
Dear all,

I have a python script in which I have a list of files to input one by one
and for each file I get a number as an output.
I used for loop to submit the file to script.
My script uses one file at a time and returns the output.

My computers has 8 cores.
Is there any way that I could submit 8 jobs at a time and get all the
output faster ?
In other words, how can I modify my script so that I could submit 8 jobs
together on 8 different processors ?

I am bit new to this stuff, please suggest me some directions.

Thank you.

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


Re: submit jobs on multi-core

2012-09-10 Thread Laszlo Nagy

On 2012-09-11 06:16, Dhananjay wrote:

Dear all,

I have a python script in which I have a list of files to input one by 
one and for each file I get a number as an output.

I used for loop to submit the file to script.
My script uses one file at a time and returns the output.

My computers has 8 cores.
Is there any way that I could submit 8 jobs at a time and get all the 
output faster ?
In other words, how can I modify my script so that I could submit 8 
jobs together on 8 different processors ?


I am bit new to this stuff, please suggest me some directions.
You should first look at the multiprocessing module. It is part of the 
standard library.


http://docs.python.org/library/multiprocessing.html


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


Re: python CAD libraries?

2012-09-10 Thread Dwight Hutto
On Mon, Sep 10, 2012 at 5:50 PM, Jayden  wrote:

> On Monday, September 10, 2012 5:30:08 PM UTC-4, Gary Herron wrote:
> > On 09/10/2012 02:10 PM, Jayden wrote:
> >
> > > Are there any python CAD libraries that can
> >
> > >
> >
> > > (1) build simple 3D primitives solids such as spheres, cylinders and
> so on
> >
> > > (2) perform bool operations on 3D solids
> >
> > > (3) better if it has some transformations such has scaling, sweeping,
> and lofting
> >
>
I've used maya(I think that was the name), and matplotlib, but
Blender.org(open source) is great for 3d rendering/game engine, etc, and
has a nice python API, with great tutorials everywhere.

If you checkout my homepage in my sig, you can see a roughdraft of
somethings I was working on for it.

I'd say go with an earlier version(more tuts/examples), but they put them
out pretty quick, so 2.6 my be best to start with, and it uses python 3.x.
-- 
Best Regards,
David Hutto
*CEO:* *http://www.hitwebdevelopment.com*
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: python CAD libraries?

2012-09-10 Thread Dwight Hutto
> > > Are there any python CAD libraries that can
> >
> > >
> >
> > > (1) build simple 3D primitives solids such as spheres, cylinders and
> so on
> >
> > > (2) perform bool operations on 3D solids
> >
> > > (3) better if it has some transformations such has scaling, sweeping,
> and lofting
> >
> > >
> >
> > > Please recommend some good ones for me? Thanks a lot!!
> >
> >
> >
> > Try PythonCAD:  http://sourceforge.net/projects/pythoncad/
> >
> >
> >
> > (Google would have been faster. :-) )
> >
> >
> >
> > Gary Herron
> >
> >
> >
> > --
> >
> > Dr. Gary Herron
> >
> > Department of Computer Science
> >
> > DigiPen Institute of Technology
> >
> > (425) 895-4418
>
> Thank you. But this is for 2D.
>

3-d is just manipulating what's shown in x/y points(and not as easy as it
sounds) .

I went with cartesian coordinate, a 360x360 canvas(with 90x90 degree view
port), and a little trig for front/back/left/right/up/down, and amplitude
or z distance for my first attempt, and now porting it into the Blender
game engine.



-- 
Best Regards,
David Hutto
*CEO:* *http://www.hitwebdevelopment.com*
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: python CAD libraries?

2012-09-10 Thread Dwight Hutto
I've used maya(I think that was the name), and matplotlib, but
Blender.org(open source) is great for 3d rendering/game engine, etc, and
has a nice python API, with great tutorials everywhere.

If you checkout my homepage in my sig, you can see a roughdraft of
somethings I was working on for it.

I'd say go with an earlier version(more tuts/examples), but they put them
out pretty quick, so 2.6 my be best to start with, and it uses python 3.x.
-- 
Best Regards,
David Hutto
*CEO:* *http://www.hitwebdevelopment.com*
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: python CAD libraries?

2012-09-10 Thread Dwight Hutto
On Mon, Sep 10, 2012 at 5:10 PM, Jayden  wrote:

> Are there any python CAD libraries that can
>
> (1) build simple 3D primitives solids such as spheres, cylinders and so on
> (2) perform bool operations on 3D solids
> (3) better if it has some transformations such has scaling, sweeping, and
> lofting
>
> Please recommend some good ones for me? Thanks a lot!!
> --
> http://mail.python.org/mailman/listinfo/python-list
>

've used maya(I think that was the name), and matplotlib, but
Blender.org(open source) is great for 3d rendering/game engine, etc, and
has a nice python API, with great tutorials everywhere.

If you checkout my homepage in my sig, you can see a roughdraft of
somethings I was working on for it.

I'd say go with an earlier version(more tuts/examples), but they put them
out pretty quick, so 2.6 my be best to start with, and it uses python 3.x.
--
Best Regards,
David Hutto
*CEO:* *http://www.hitwebdevelopment.com*
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: python CAD libraries?

2012-09-10 Thread david

> Thank you. But this is for 2D.


Thank you. But this is for 2D.


3-d is just manipulating what's shown in x/y points(and not as easy as it 
sounds) .

I went with cartesian coordinate, a 360x360 canvas(with 90x90 degree view 
port), and a little trig for front/back/left/right/up/down, and amplitude or z 
distance for my first attempt, with a few others that locked a center of an 
object,and held point rotation, and now porting it into the Blender game 
engine. 

I've used maya(I think that was the name), and matplotlib, but Blender.org(open 
source) is great for 3d rendering/game engine, etc, and has a nice python API, 
with great tutorials everywhere.

If you checkout my homepage in my sig, you can see a roughdraft of somethings I 
was working on for it.

I'd say go with an earlier version(more tuts/examples), but they put them out 
pretty quick, so 2.6 my be best to start with, and it uses python 3.x.



-- 
Best Regards,
David Hutto
CEO: http://www.hitwebdevelopment.com



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


Re: python CAD libraries?

2012-09-10 Thread david
Thank you. But this is for 2D.


3-d is just manipulating what's shown in x/y points(and not as easy as it 
sounds) .

I went with cartesian coordinate, a 360x360 canvas(with 90x90 degree view 
port), and a little trig for front/back/left/right/up/down, and amplitude or z 
distance for my first attempt, and now porting it into the Blender game engine. 

I've used maya(I think that was the name), and matplotlib, but Blender.org(open 
source) is great for 3d rendering/game engine, etc, and has a nice python API, 
with great tutorials everywhere.

If you checkout my homepage in my sig, you can see a roughdraft of somethings I 
was working on for it.

I'd say go with an earlier version(more tuts/examples), but they put them out 
pretty quick, so 2.6 my be best to start with, and it uses python 3.x.



-- 
Best Regards,
David Hutto
CEO: http://www.hitwebdevelopment.com



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


Re: python CAD libraries?

2012-09-10 Thread David Hutto
Might have posted that too many times, I don't use the google groups that much.
> 
> Best Regards,
> 
> David Hutto
> 
> CEO: http://www.hitwebdevelopment.com

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


Re: python CAD libraries?

2012-09-10 Thread Dwight Hutto
Apologies for the multiple posts, it's been a long night, and I don't use
the google groups that much I kept getting sent mail failure, I think
because I didn't hit 'reply all'.
-- 
Best Regards,
David Hutto
*CEO:* *http://www.hitwebdevelopment.com*
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: python CAD libraries?

2012-09-10 Thread Dwight Hutto
Apologies for the double posting.


-- 
Best Regards,
David Hutto
*CEO:* *http://www.hitwebdevelopment.com*
-- 
http://mail.python.org/mailman/listinfo/python-list