Jython Beta 3 Released

2009-03-11 Thread Frank Wierzbicki
When I released Beta 2 this Saturday, I said it would be the last beta
unless a severe bug was found. Well, a severe bug was found.  Under
certain circumstances Jython Beta 2 would not start on Windows.  Otmar
Humbel has fixed it, and we've released Beta 3 with the fix here:
http://downloads.sourceforge.net/jython/jython_installer-2.5b3.jar
See http://www.jython.org/Project/installation.html for installation
instructions.

This is a beta release so be careful.

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

Support the Python Software Foundation:
http://www.python.org/psf/donations.html


Re: Problem with os.chdir()

2009-03-11 Thread Tim Golden

venutaurus...@gmail.com wrote:

Hello all,
   I am writing a python script which has to access deep paths
then supported normally by the Windows OS (255). So I am appending \
\?\ to do so. But when I use the path in the above fashion with
os.chdir() it is unable to recognize my folder and throwing an error:

Traceback (most recent call last):
  File C:\JPDump\test.py, line 31, in module
renameStubs(file)
  File C:\JPDump\test.py, line 15, in renameStubs
os.chdir (path)
WindowsError: [Error 123] The filename, directory name, or volume
label syntax is incorrect: '\\?\\C:\\TestDataSet\
\Many_Files_1_1KB_FIles\\001_0009_1000 FILES\\'

The value of my path variable is
\?\C:\TestDataSet\Many_Files_1_1KB_FIles\001_0009_1000 FILES\



There need to be two backslashes at the beginning:

\\?\C:\TEST.FILES\

Note the double backslash before the question mark.

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


Re: A Dangling Tk Entry

2009-03-11 Thread Marc 'BlackJack' Rintsch
On Mon, 09 Mar 2009 21:14:51 -0700, W. eWatson wrote:

  def Set_Enter_Data(self):
  sdict = {}
  sdict[ ok ] = False
  sdict[ anumber ] = self.anumber
  dialog = Enter_Data_Dialog( self.master, sdict ) ---
  returning
 
 That's not a call to the `body()` method so that ``return`` is
 irrelevant here.  Here an instance of `Enter_Data_Dialog` is created. 
 No ``return`` involved.
 
 BTW if this is really just a dialog to enter a number, the functions
 `askinteger()` or `askfloat()` from the `tkSimpleDialog` module can be
 used.

 What you are seeing here as an example, is a paired down version of the
 2000 line program to focus on the particular problem at hand. The full
 code uses up to 20 variable of various types, via the dialog object. It
 uses them successfully to get the values the user has entered. How can
 it be irrelevant if it works?

The ``return`` in `body()` has nothing to do with the source line you 
marked.

 The author thought this was the way to do it.

And he thought wrong because his `body()` method returns `None`.  That 
works but not the way it is intended.

 It's not my invention. It's no fluke. He does the same thing in
 another dialog that brings back about 6 values.
 
  def body(self,master):
  self.title(Box Settings)
 
  print body from BSD
   ...
 
  frame_delay = Entry( master,
 textvariable=self.frame_delay_var,
 width=10 ).grid( row=2, column=1, sticky=W )
   ...
  Entry( master,
 textvariable=self.untrigger_threshold_var, width=10
 ).grid( row=4, column=1, sticky=W )
  self.untrigger_threshold_var.set( %d %
 self.sdict[untrigger_threshold] )
 
  return frame_delay

Then he did it consequently wrong.  `frame_delay` is always `None` here 
so the ``return`` is useless.

You asked what this code means and now you don't like the answer that 
it's somewhat useless code!?

Ciao,
Marc 'BlackJack' Rintsch
--
http://mail.python.org/mailman/listinfo/python-list


Re: Ban Xah Lee

2009-03-11 Thread Lawrence D'Oliveiro
Anybody else notice that xah lee is eel hax spelt backwards?

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


Re: Problem--Extending the behavior of an upstream package

2009-03-11 Thread Carl Banks
On Mar 10, 9:33 pm, a...@pythoncraft.com (Aahz) wrote:
 In article 
 60848752-2c3f-4512-bf61-0bc11c919...@i20g2000prf.googlegroups.com,
 Carl Banks  pavlovevide...@gmail.com wrote:



 The problem comes when a different part of the upstream package also
 subclasses or creates a Box.  When an upstream function creates a box,
 it creates an upstream.packaging.Box instead of a
 mine.custom_packaging.Box, but I'd want it to do the latter.

 The only clean way I'm aware of is to pass in an instance and use
 instance.__class__ to create new instances.  Did you come up with
 another idea?


Ok, so after lots of false starts and muttering, and much mindbending
to get my head around the import dynamics, I came up with this simple
(not straightforward) recipe, which does not require an import hook,
but has one major drawback (that I can live with).  I defined this
function:


def adapt(base_full_mod_name):
mp = base_full_mod_name.split('.')
if len(mp)  2:
raise ValueError('can only adapt packaged modules')
adapt_full_mod_name = '.'.join([custom] + mp[1:])
keepref_full_mod_name = '.'.join([_upstream] + mp[1:])
adapt_mod_name = mp[-1]
parent_full_mod_name = '.'.join(mp[:-1])
try:
mod = __import__(adapt_full_mod_name,globals(),locals(),
('*',))
except ImportError:
pass
else:
sys.modules[keepref_full_mod_name] = sys.modules
[base_full_mod_name]
sys.modules[base_full_mod_name] = mod
setattr(sys.modules[parent_full_mod_name],adapt_mod_name,mod)


Most of the modules in package upstream have a little bit of
boilerplate at the very end that looks something like this:

from . import adaptation
adaptation.adapt(__name__)


Believe it or not, this causes whoever imports the module to actually
receive a different module.  It exploits the fact that the semantics
of __import__ are, for the lack of a better word, retarded.  If you
write from upstream import staging, staging would end up bound to
the module custom.stating (if custom.staging exists).

This allows you to subclass upsteam.staging.Box naturally, and anyone
who tries to use upstream.staging.Box will actually be using
custom.staging.Box.  (Actually not quite true, a user in the same
module would still be using Box, but that's easily work-around-able.)

The major drawback is that from upstream.staging import Box will
fail.  It will import upstream.staging.Box, not custom.stating.Box if
it's the first time upstream.stating is imported.  I can live with it
since I expect the modules to be carefully imported in order before
anyone uses their contents.

A minor drawback is it only works for modules in a package, no
biggie.  It probably crashes and burns in circular import situations,
and there's almost certainly some other pitfalls.


It's probably too magical for most people, but as I said I can
tolerate a lot of magic.  I think it's ok because all adaptible
modules have boilerplate at the end cluing a user that some other
behavior might be tacked onto this module.  That was the key sticking
point for me, I could have used an import hook, but I REALLY didn't
want a user to see import upstream.staging and not have any clue why
they were importing custom.staging.


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


Re: Ban Xah Lee

2009-03-11 Thread Kenneth Tilton

Craig Allen wrote:

There you go: a 30-second psychological diagnosis by an
electrical engineer based entirely on Usenet postings.  It
doesn't get much more worthless than that...

--
Grant


rolf but interesting post nonetheless.  I have been really somewhat
fascinated by AS since I heard of it about a decade ago.  There are
many among us, with interesting ideas, occasionally savant level
insight into certain abstractions, which often they can not
communicate but which lie there for those that can communicate or come
to understand nonetheless.

having said that, none of this forgives rudeness or implies people
have to tolarate it due to a person's condition, or even due to trying
to help them achieve their potential (and thus get something
productive out of it ourselves as well)...  that is, if you have these
communications problems you have to realize it, thank god you are
functional, and just that alone will help you communicate.


eeep!

kt

ps. when the hell do I get an eponymous banning thread?! I have been 
flaming this damn group for 13 years and no recognition!! k


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


urllib2.URLError: urlopen error unknown url type: http

2009-03-11 Thread Coonay
i use python2.6


File C:\PROGRA~1\Python26\lib\urllib2.py, line 383, in open
response = self._open(req, data)
  File C:\PROGRA~1\Python26\lib\urllib2.py, line 401, in _open
'_open', req)
  File C:\PROGRA~1\Python26\lib\urllib2.py, line 361, in
_call_chain
result = func(*args)
  File C:\PROGRA~1\Python26\lib\urllib2.py, line 690, in lambda
meth(r, proxy, type))
  File C:\PROGRA~1\Python26\lib\urllib2.py, line 713, in proxy_open
return self.parent.open(req)
  File C:\PROGRA~1\Python26\lib\urllib2.py, line 383, in open
response = self._open(req, data)
  File C:\PROGRA~1\Python26\lib\urllib2.py, line 406, in _open
'unknown_open', req)
  File C:\PROGRA~1\Python26\lib\urllib2.py, line 361, in
_call_chain
result = func(*args)
  File C:\PROGRA~1\Python26\lib\urllib2.py, line 1163, in
unknown_open
raise URLError('unknown url type: %s' % type)
urllib2.URLError: urlopen error unknown url type: http
--
http://mail.python.org/mailman/listinfo/python-list


Re: Is python worth learning as a second language?

2009-03-11 Thread bubill
I'm a Testing Engineer ,i don't know any language at all before
learning py3k ,and for Testing job!
--
http://mail.python.org/mailman/listinfo/python-list


Problem with threading: can't start new thread

2009-03-11 Thread sufrank
I am doing stress test with python using threading, I have encountered 
the can't start new thread problem when running the script.

The system is Linux, python version 2.4

Traceback (most recent call last):
 File ./imap_test.py, line 38, in ?
   current.start()
 File /usr/lib/python2.4/threading.py, line 416, in start
   _start_new_thread(self.__bootstrap, ())
thread.error: can't start new thread


Part of my testing scripts(python) is as followed:

#!/usr/bin/python

import const;
import imap_pattern;

import os
import re
import time
import sys
from threading import Thread
import logging

Userno_Max = 1000
class client(Thread):
   def __init__ (self,ID,type,username):
   Thread.__init__(self)
   self.username = username
   self.type = type
   self.ID = ID
   def run(self):
   print self.ID
  
   myTest = imap_pattern.imap_pattern(self.ID)

   myTest.run_pattern(self.type,self.username)

if __name__ == '__main__':
 print time.ctime()
 Users = int(sys.argv[1])
 Period = float(sys.argv[2])

  
   id = 1

   for host in range(0,1000):
   username = %...@%s %(const.Username_Prefix, id % Userno_Max, 
const.Domain)

   current = client(id,1,username)
   current.start()
   id += 1
  


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


Re: Ban Xah Lee

2009-03-11 Thread Hendrik van Rooyen
Kenneth Tilton ke...ail.comwrote:

 
 ps. when the hell do I get an eponymous banning thread?! I have been 
 flaming this damn group for 13 years and no recognition!! k
 

Well you are obviously not trying hard enough, so you have nobody 
but yourself to blame if you get pipped at the post after 13 years:

It would help if you cross posted gratuitously, flaming the wrong
group in response to random blog comments that you read elsewhere. 
Oh yes, I almost forgot - you also have to have some grotty website
that is full of autogenerated rubbish that you keep posting links to
as if it were the answer to life the universe, and everything.

So having manifestly failed to follow the accepted recipe for getting
yourself banned - why are you surprised?

- Hendrik


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


Re: urllib2.URLError: urlopen error unknown url type: http

2009-03-11 Thread Chris Rebert
On Tue, Mar 10, 2009 at 11:34 PM, Coonay fla...@gmail.com wrote:
 i use python2.6


 File C:\PROGRA~1\Python26\lib\urllib2.py, line 383, in open
    response = self._open(req, data)
  File C:\PROGRA~1\Python26\lib\urllib2.py, line 401, in _open
    '_open', req)
  File C:\PROGRA~1\Python26\lib\urllib2.py, line 361, in
 _call_chain
    result = func(*args)
  File C:\PROGRA~1\Python26\lib\urllib2.py, line 690, in lambda
    meth(r, proxy, type))
  File C:\PROGRA~1\Python26\lib\urllib2.py, line 713, in proxy_open
    return self.parent.open(req)
  File C:\PROGRA~1\Python26\lib\urllib2.py, line 383, in open
    response = self._open(req, data)
  File C:\PROGRA~1\Python26\lib\urllib2.py, line 406, in _open
    'unknown_open', req)
  File C:\PROGRA~1\Python26\lib\urllib2.py, line 361, in
 _call_chain
    result = func(*args)
  File C:\PROGRA~1\Python26\lib\urllib2.py, line 1163, in
 unknown_open
    raise URLError('unknown url type: %s' % type)
 urllib2.URLError: urlopen error unknown url type: http

A. Please include the *entire* traceback, in the future
B. Please include a snippet of the code you're using, in the future
C. A bit less curt of a missive would also be appreciated

That all said, judging by the error message, it appears that the URL
you're trying to open has a double-quote () as its first character,
which is obviously not permissible.
I can't be completely sure however, since you neglected to include the
entire traceback or any of your actual code.

Cheers,
Chris

-- 
I have a blog:
http://blog.rebertia.com
--
http://mail.python.org/mailman/listinfo/python-list


WSE 3 with Python (Newbie)

2009-03-11 Thread Shane Bignell
Hi,

 

I am trying to post a python HTTP request to a web service that
implements using Web Service Enhancements 3.0. I have WSE3.0 installed
on the client and the server and I have looked over a few examples of
how the SOAP header should look like for WSE authentication, I have
included the following: 

 

soap:Header

wsa:ActionACTION ADDRESS/wsa:Action

wsa:MessageIDMESSAGE ID/wsa:MessageID

wsa:ToASMX ADDRESS/wsa:To

wsse:Security

wsse:UsernameToken

 wsse:UsernameUSERNAME/wsse:Username

 wsse:PasswordPASSWORD/wsse:Password

/wsse:UsernameToken

wsu:Timestamp id=Timestamp-a4585876-db02-44a6-a2f7-2bc6f3472e47/

wsu:Created2009-02-14T16:14:00Z/wsu:Created

 wsu:Expires2010-01-01T12:00:00Z/wsu:Expires

/wsse:Security

soap:Header

 

I am not getting a valid response back. 

 

Any ideas what I may be doing wrong?

 

Kind Regards
Shane Bignell

Spotlight Interactive Planning for Financial Excellence
A member of the IRESS group
( 031 203 7620FAX 086 514 6546
*: sha...@spotlight.co.za mailto:sha...@spotlight.co.za   | Website: 
www.spotlight.co.za http://www.spotlight.co.za 

 

Email disclaimer 

This email and any accompanying attachments may contain confidential and
proprietary information. This information is private and protected by
law and, accordingly, if you are not the intended recipient, you are
requested to delete this entire communication immediately and are
notified that any disclosure, copying or distribution of or taking any
action based on this information is prohibited.

Emails cannot be guaranteed to be secure or free of errors or viruses.
The sender does not accept any liability or responsibility for any
interception, corruption, destruction, loss, late arrival or
incompleteness of or tampering or interference with any of the
information contained in this email or for its incorrect delivery or
non-delivery for whatsoever reason or for its effect on any electronic
device of the recipient. If verification of this email or any attachment
is required, please request a hard-copy version.

Click here to read full email disclaimer
http://www.spotlight.co.za/EmailDisclaimer.html 

 

 

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


Re: python code to fortran 77's

2009-03-11 Thread Larry
On Mar 9, 9:55 am, John Machin sjmac...@lexicon.net wrote:
 On Mar 9, 12:09 pm, Larry larry.cebu...@gmail.com wrote:



  Friends,

  I need to read a binary file using a Fortran 77 code to integrate with
  a legacy code It looked very much complicated to me for I have no
  knowledge in Fortran.

  I could read the file with ease using Python, as shown in the
  following.

  ###
  from numpy import*  #Importing modules
  from struct import unpack

  f = open('bindata', 'rb')   #Opening binary file for reading
  A = zeros(20)   #Initializing empty array

  for i in xrange(20):
  data = unpack('f', f.read(4))   # Unpacking 32-bit data, 
  C-float
  A[i]+=data

  
  Sample output:

   A

  array([ 239.,  309.,  298.,  280.,  286.,  250.,  190.,  200.,  226.,
  .
  .
  .
 214.,  243.,  439.,  565.,  564.,  546.,  142.,   87.,
  118.])

  ##

  As you can see, data values are 4-byte long (float) and byte order is
  little endian (Intel machine).

  I intend to post this to a fortran users group but if you know, kindly
  give a piece of advice.

  Thanks to all those who will help.

 Have you tried google(f77 read binary)?

 Not much help with your f77 problem, but you might like to see a  less
 verbose way of doing it in Python:

 from struct import unpack
 f = open('bindata', 'rb')
 a_tuple = unpack('20f', f.read(80))

 Cheers,
 John


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


Re: Problem with threading: can't start new thread

2009-03-11 Thread Diez B. Roggisch
sufrank wrote:

 I am doing stress test with python using threading, I have encountered
 the can't start new thread problem when running the script.
 The system is Linux, python version 2.4

http://stackoverflow.com/questions/344203/maximum-number-of-threads-per-process-in-linux

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


Re: Ban Xah Lee

2009-03-11 Thread Craig Allen
 There you go: a 30-second psychological diagnosis by an
 electrical engineer based entirely on Usenet postings.  It
 doesn't get much more worthless than that...

 --
 Grant

rolf but interesting post nonetheless.  I have been really somewhat
fascinated by AS since I heard of it about a decade ago.  There are
many among us, with interesting ideas, occasionally savant level
insight into certain abstractions, which often they can not
communicate but which lie there for those that can communicate or come
to understand nonetheless.

having said that, none of this forgives rudeness or implies people
have to tolarate it due to a person's condition, or even due to trying
to help them achieve their potential (and thus get something
productive out of it ourselves as well)...  that is, if you have these
communications problems you have to realize it, thank god you are
functional, and just that alone will help you communicate.

me, also IANAP, also working from usenet and an asperger's book I read
(and google)...
--
http://mail.python.org/mailman/listinfo/python-list


Re: Determining from which web page a cgi script is invoked?

2009-03-11 Thread davidgould
On Mar 10, 7:15 pm, cm carlos.m...@atisa.es wrote:
 davidgo...@davidgould.com escribió:

  Given a webpage test.html that has a form with a cgi script, how can
  you determine inside the cgi script the name of the webpage that
  invoked the script?

  I have many different html pages that use a common cgi script for form
  processing and want to determine the name of the webpage.

 quickdirty: Add a hidden form var with the page/form name

Yes, I had considered this. Is there any way to quickly automate the
setting of this var to match the html page that contains it?
--
http://mail.python.org/mailman/listinfo/python-list


Re: Determining from which web page a cgi script is invoked?

2009-03-11 Thread davidgould
On Mar 10, 7:15 pm, cm carlos.m...@atisa.es wrote:
 davidgo...@davidgould.com escribió:

  Given a webpage test.html that has a form with a cgi script, how can
  you determine inside the cgi script the name of the webpage that
  invoked the script?

  I have many different html pages that use a common cgi script for form
  processing and want to determine the name of the webpage.

 quickdirty: Add a hidden form var with the page/form name

Yes, I had considered this. Is there any way to quickly automate the
setting of this var to match the html page that contains it?
--
http://mail.python.org/mailman/listinfo/python-list


elixir vs. storm

2009-03-11 Thread Dan Barbus
Hi,

Anyone here compared elixir with storm? Both are sqlite declarative
wrappers (as far as I understood) and both seem to hide the
(unnecessary for what I want) SQL/data layer under pythonic wrappers.

I'm not trying to start a flamewar here (but I wanted to know if one
is more mature than the other, more pythonic, easier to use or
whatever ...

Also, are there any other alternatives for easily working with sqlite
in python?

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


Re: Problem with os.chdir()

2009-03-11 Thread venutaurus...@gmail.com
On Mar 11, 11:08 am, Tim Golden m...@timgolden.me.uk wrote:
 venutaurus...@gmail.com wrote:
  Hello all,
             I am writing a python script which has to access deep paths
  then supported normally by the Windows OS (255). So I am appending \
  \?\ to do so. But when I use the path in the above fashion with
  os.chdir() it is unable to recognize my folder and throwing an error:

  Traceback (most recent call last):
    File C:\JPDump\test.py, line 31, in module
      renameStubs(file)
    File C:\JPDump\test.py, line 15, in renameStubs
      os.chdir (path)
  WindowsError: [Error 123] The filename, directory name, or volume
  label syntax is incorrect: '\\?\\C:\\TestDataSet\
  \Many_Files_1_1KB_FIles\\001_0009_1000 FILES\\'

  The value of my path variable is
  \?\C:\TestDataSet\Many_Files_1_1KB_FIles\001_0009_1000 FILES\

 There need to be two backslashes at the beginning:

 \\?\C:\TEST.FILES\

 Note the double backslash before the question mark.

 TJG

I've another situation where os.chdir() function failed. Please find
the traceback pasted below:
Traceback (most recent call last):
  File C:\JPDump\test.py, line 29, in module
renameStubs(file)
  File C:\JPDump\test.py, line 12, in renameStubs
os.chdir (path)
WindowsError: [Error 206] The filename or extension is too long: '\\?\
\C:\\TestDataSet\\DeepPaths\\DeepPathLevel01\\DeepPathLevel02\
\DeepPathLevel03\\DeepPathLevel04\\DeepPathLevel05\\DeepPathLevel06\
\DeepPathLevel07\\DeepPathLevel08\\DeepPathLevel09\\DeepPathLevel10\
\DeepPathLevel11\\DeepPathLevel12\\DeepPathLevel13\\DeepPathLevel14\
\DeepPathLevel15\\DeepPathLevel16\\'

Thanks in advance,
Venu Madhav.


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


Re: Problem with os.chdir()

2009-03-11 Thread Tim Golden

venutaurus...@gmail.com wrote:

On Mar 11, 11:08 am, Tim Golden m...@timgolden.me.uk wrote:

venutaurus...@gmail.com wrote:

Hello all,
   I am writing a python script which has to access deep paths
then supported normally by the Windows OS (255). So I am appending \
\?\ to do so. But when I use the path in the above fashion with
os.chdir() it is unable to recognize my folder and throwing an error:
Traceback (most recent call last):
  File C:\JPDump\test.py, line 31, in module
renameStubs(file)
  File C:\JPDump\test.py, line 15, in renameStubs
os.chdir (path)
WindowsError: [Error 123] The filename, directory name, or volume
label syntax is incorrect: '\\?\\C:\\TestDataSet\
\Many_Files_1_1KB_FIles\\001_0009_1000 FILES\\'
The value of my path variable is
\?\C:\TestDataSet\Many_Files_1_1KB_FIles\001_0009_1000 FILES\

There need to be two backslashes at the beginning:

\\?\C:\TEST.FILES\

Note the double backslash before the question mark.

TJG


I've another situation where os.chdir() function failed. Please find
the traceback pasted below:
Traceback (most recent call last):
  File C:\JPDump\test.py, line 29, in module
renameStubs(file)
  File C:\JPDump\test.py, line 12, in renameStubs
os.chdir (path)
WindowsError: [Error 206] The filename or extension is too long: '\\?\
\C:\\TestDataSet\\DeepPaths\\DeepPathLevel01\\DeepPathLevel02\
\DeepPathLevel03\\DeepPathLevel04\\DeepPathLevel05\\DeepPathLevel06\
\DeepPathLevel07\\DeepPathLevel08\\DeepPathLevel09\\DeepPathLevel10\
\DeepPathLevel11\\DeepPathLevel12\\DeepPathLevel13\\DeepPathLevel14\
\DeepPathLevel15\\DeepPathLevel16\\'


Try it as a unicode string:

os.chdir (ur\\?\c:\test...\deep...)

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


Re: Problem with os.chdir()

2009-03-11 Thread venutaurus...@gmail.com
On Mar 11, 5:02 pm, Tim Golden m...@timgolden.me.uk wrote:
 venutaurus...@gmail.com wrote:
  On Mar 11, 11:08 am, Tim Golden m...@timgolden.me.uk wrote:
  venutaurus...@gmail.com wrote:
  Hello all,
             I am writing a python script which has to access deep paths
  then supported normally by the Windows OS (255). So I am appending \
  \?\ to do so. But when I use the path in the above fashion with
  os.chdir() it is unable to recognize my folder and throwing an error:
  Traceback (most recent call last):
    File C:\JPDump\test.py, line 31, in module
      renameStubs(file)
    File C:\JPDump\test.py, line 15, in renameStubs
      os.chdir (path)
  WindowsError: [Error 123] The filename, directory name, or volume
  label syntax is incorrect: '\\?\\C:\\TestDataSet\
  \Many_Files_1_1KB_FIles\\001_0009_1000 FILES\\'
  The value of my path variable is
  \?\C:\TestDataSet\Many_Files_1_1KB_FIles\001_0009_1000 FILES\
  There need to be two backslashes at the beginning:

  \\?\C:\TEST.FILES\

  Note the double backslash before the question mark.

  TJG

  I've another situation where os.chdir() function failed. Please find
  the traceback pasted below:
  Traceback (most recent call last):
    File C:\JPDump\test.py, line 29, in module
      renameStubs(file)
    File C:\JPDump\test.py, line 12, in renameStubs
      os.chdir (path)
  WindowsError: [Error 206] The filename or extension is too long: '\\?\
  \C:\\TestDataSet\\DeepPaths\\DeepPathLevel01\\DeepPathLevel02\
  \DeepPathLevel03\\DeepPathLevel04\\DeepPathLevel05\\DeepPathLevel06\
  \DeepPathLevel07\\DeepPathLevel08\\DeepPathLevel09\\DeepPathLevel10\
  \DeepPathLevel11\\DeepPathLevel12\\DeepPathLevel13\\DeepPathLevel14\
  \DeepPathLevel15\\DeepPathLevel16\\'

 Try it as a unicode string:

 os.chdir (ur\\?\c:\test...\deep...)

 TJG

Sorry.. even that failed:

Traceback (most recent call last):
  File C:\JPDump\test.py, line 29, in module
renameStubs(file)
  File C:\JPDump\test.py, line 12, in renameStubs
os.chdir (path)
WindowsError: [Error 206] The filename or extension is too long: u'\\\
\?\\C:TestDataSet\\DeepPaths\\DeepPathLevel01\\DeepPathLevel02\
\DeepPathLevel03\\DeepPathLevel04\\DeepPathLevel05\\DeepPathLevel06\
\DeepPathLevel07\\DeepPathLevel08\\DeepPathLevel09\\DeepPathLevel10\
\DeepPathLevel11\\DeepPathLevel12\\DeepPathLevel13\\DeepPathLevel14\
\DeepPathLevel15\\DeepPathLevel16\\'
---
Here is my code snippet which you will be interested in:

file = ur'\\?\C:\\TestDataSet\DeepPaths
\DeepPathLevel01\DeepPathLevel02\DeepPathLevel03\DeepPathLevel04\DeepPathLevel05\DeepPathLevel06\DeepPathLevel07\DeepPathLevel08\DeepPathLevel09\DeepPathLevel10\DeepPathLevel11\DeepPathLevel12\DeepPathLevel13\DeepPathLevel14\DeepPathLevel15\DeepPathLevel16\DeepPathLevel172.txt'
def renameStubs(file):
#e.write(u\n+strftime(%Y-%m-%d %H:%M:%S) + we are in
renameStubs function \n)
drive = file.split(:)[0]
oldName = file.split(\\)[-1]
path = file.rstrip(oldName)
os.chdir (path)

renameStubs(file)
--
http://mail.python.org/mailman/listinfo/python-list


Re: Problem with os.chdir()

2009-03-11 Thread Tim Golden

Here is my code snippet which you will be interested in:


Indeed.


file = ur'\\?\C:\\TestDataSet\DeepPaths
\DeepPathLevel01\DeepPathLevel02\DeepPathLevel03\DeepPathLevel04\DeepPathLevel05\DeepPathLevel06\DeepPathLevel07\DeepPathLevel08\DeepPathLevel09\DeepPathLevel10\DeepPathLevel11\DeepPathLevel12\DeepPathLevel13\DeepPathLevel14\DeepPathLevel15\DeepPathLevel16\DeepPathLevel172.txt'



And what happens if you remove that second double-backslash,
the one between C: and TestDataSet?

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


blocked on futex

2009-03-11 Thread msoulier
Hello,

I'm using the Python packaged with CentOS 4.7, which is a patched
2.3.4. Yes, ancient but I can't do anything about it.

The problem is that my long-running process, which talks to PostgreSQL
via Django models, does a lot of reading and writing to and from the
disk and writes to a Unix domain socket is randomly locking up. I have
not found a consistent place in my code where this lock-up occurs, but
every time it does, an strace shows that it is sitting at an futex()
call, apparently waiting forever.

My first guess is that futex() is being used by pthread_mutex_lock()
for thread-safety. I'm not using threads but the interpreter was built
with threaded support AFAIK.

A step in the right direction would be appreciated, I'm at a loss on
this one. I'm currently trying to strace the entire run of the program
to gain some context when it locks up to find out what it was doing at
the time.

Cheers and thanks,
MIke
--
http://mail.python.org/mailman/listinfo/python-list


Re: Problem with os.chdir()

2009-03-11 Thread venutaurus...@gmail.com
On Mar 11, 5:19 pm, Tim Golden m...@timgolden.me.uk wrote:
  Here is my code snippet which you will be interested in:

 Indeed.

  file = ur'\\?\C:\\TestDataSet\DeepPaths
  \DeepPathLevel01\DeepPathLevel02\DeepPathLevel03\DeepPathLevel04\DeepPathLe 
  vel05\DeepPathLevel06\DeepPathLevel07\DeepPathLevel08\DeepPathLevel09\DeepP 
  athLevel10\DeepPathLevel11\DeepPathLevel12\DeepPathLevel13\DeepPathLevel14\ 
  DeepPathLevel15\DeepPathLevel16\DeepPathLevel172.txt'

 And what happens if you remove that second double-backslash,
 the one between C: and TestDataSet?

 TJG

Even if I give the file path as below

file = ur'\\?\C:\TestDataSet\DeepPaths
\DeepPathLevel01\DeepPathLevel02\DeepPathLevel03\DeepPathLevel04\DeepPathLevel05\DeepPathLevel06\DeepPathLevel07\DeepPathLevel08\DeepPathLevel09\DeepPathLevel10\DeepPathLevel11\DeepPathLevel12\DeepPathLevel13\DeepPathLevel14\DeepPathLevel15\DeepPathLevel16\DeepPathLevel172.txt'

I am still getting the exception:

Traceback (most recent call last):
  File C:\JPDump\test.py, line 29, in module
renameStubs(file)
  File C:\JPDump\test.py, line 12, in renameStubs
os.chdir (path)
WindowsError: [Error 206] The filename or extension is too long: u'\\\
\?\\C:\\TestDataSet\\DeepPaths\\DeepPathLevel01\\DeepPathLevel02\
\DeepPathLevel03\\DeepPathLevel04\\DeepPathLevel05\\DeepPathLevel06\
\DeepPathLevel07\\DeepPathLevel08\\DeepPathLevel09\\DeepPathLevel10\
\DeepPathLevel11\\DeepPathLevel12\\DeepPathLevel13\\DeepPathLevel14\
\DeepPathLevel15\\DeepPathLevel16\\'

Please help..
Thank you,
Venu M


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


msiexec and python-2.6.1.msi

2009-03-11 Thread cjl
With previous versions of the Python Windows msi installer, for
example 2.5.4,
I could run the following command from the windows cmd prompt:

msiexec /a C:\python-2.5.4.msi /qn TARGETDIR=C:\python

This would result in a 'full' python installation in the C:\python
directory, inside of which I would find the (necessary) file
msvcr70.dll. Perhaps it was actually msvcr71.dll most recently, I
can't remember. Of
course, this would not register extensions, but I did not want it to.

When I try the same command with python-2.6.1.msi, the file
msvcr90.dll and the manifest file are not created in the python
directory, nor anywhere else on the system.

If, instead, I double click the python-2.6.1.msi installer, the
msvcr90.dll file is created. I have tried msiexec with '/a' and '/i'
command line switches, and every possible combination of options, all
to no avail.

I can't figure out if this is a regression, but it used to work.

I am basing my attempts on the following page:
http://www.python.org/download/releases/2.5/msi/

I could not find a similar page for the 2.6 release.

Can anyone point me in the right direction to figure out what I'm
doing wrong?

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


Re: elixir vs. storm

2009-03-11 Thread Bruno Desthuilliers

Dan Barbus a écrit :

Hi,

Anyone here compared elixir with storm? Both are sqlite declarative
wrappers (as far as I understood) and both seem to hide the
(unnecessary for what I want) SQL/data layer under pythonic wrappers.


elixir is a declarative layer over SQLAlchemy, which is a hi-level 
SQL/Python integration layer (and much more than an ORM). And it's in no 
way tied to SQLite (works as well with MySQL, Postgres and a couple 
other RDBMS).



I'm not trying to start a flamewar here (but I wanted to know if one
is more mature than the other, more pythonic, easier to use or
whatever ...

Also, are there any other alternatives for easily working with sqlite
in python?


There's a low-level DB-API compliant connector to SQLite. IIRC, it's 
even included in the stdlib now.

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


Re: Problem with os.chdir()

2009-03-11 Thread Tim Golden

venutaurus...@gmail.com wrote:

On Mar 11, 5:19 pm, Tim Golden m...@timgolden.me.uk wrote:

Here is my code snippet which you will be interested in:

Indeed.


file = ur'\\?\C:\\TestDataSet\DeepPaths
\DeepPathLevel01\DeepPathLevel02\DeepPathLevel03\DeepPathLevel04\DeepPathLe 
vel05\DeepPathLevel06\DeepPathLevel07\DeepPathLevel08\DeepPathLevel09\DeepP 
athLevel10\DeepPathLevel11\DeepPathLevel12\DeepPathLevel13\DeepPathLevel14\ 
DeepPathLevel15\DeepPathLevel16\DeepPathLevel172.txt'

And what happens if you remove that second double-backslash,
the one between C: and TestDataSet?

TJG


Even if I give the file path as below

file = ur'\\?\C:\TestDataSet\DeepPaths
\DeepPathLevel01\DeepPathLevel02\DeepPathLevel03\DeepPathLevel04\DeepPathLevel05\DeepPathLevel06\DeepPathLevel07\DeepPathLevel08\DeepPathLevel09\DeepPathLevel10\DeepPathLevel11\DeepPathLevel12\DeepPathLevel13\DeepPathLevel14\DeepPathLevel15\DeepPathLevel16\DeepPathLevel172.txt'

I am still getting the exception:

Traceback (most recent call last):
  File C:\JPDump\test.py, line 29, in module
renameStubs(file)
  File C:\JPDump\test.py, line 12, in renameStubs
os.chdir (path)
WindowsError: [Error 206] The filename or extension is too long: u'\\\
\?\\C:\\TestDataSet\\DeepPaths\\DeepPathLevel01\\DeepPathLevel02\
\DeepPathLevel03\\DeepPathLevel04\\DeepPathLevel05\\DeepPathLevel06\
\DeepPathLevel07\\DeepPathLevel08\\DeepPathLevel09\\DeepPathLevel10\
\DeepPathLevel11\\DeepPathLevel12\\DeepPathLevel13\\DeepPathLevel14\
\DeepPathLevel15\\DeepPathLevel16\\'




Well, the source for os.chdir under Windows uses the Win32
SetCurrentDirectoryW API as expected. What is not expected
is that the MS docs for that function:

 http://msdn.microsoft.com/en-us/library/aa365530(VS.85).aspx

still seem to suggest that you can't exceed MAX_PATH (ie 260)
characters. And indeed, attempting to do a mkdir at the command
line of something longer than that will also fail.

Hmmm.. maybe the usual advice for naming files \\?\... doesn't
apply to directory paths?

Do you have an already existing full pathname that long?

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


Re: can python import class or module directly from a zip package

2009-03-11 Thread Lorenzo
On Mar 10, 2:13 pm, Flank fla...@gmail.com wrote:
 can python import class or  module directly from  a zip package ,just
 like jave does from jar package without extracting the class file into
 directory

 so far as i know ,python module should be unzip to file system in
 order to use them,

After a little digging/googling, the answer came right from the docs:

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

I think that this module is just right what you need.

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


Re: Is python worth learning as a second language?

2009-03-11 Thread ZikO

Well

What Can I say guys?

I really appreciate your help here. Thanks for your answers. I have read 
all of them :P. Yes. Thanks for the websites: Dive In Python and 
docs.python.org. And I most say I have been convinced to take it as 
another tool for the programmer.


PS. Tomasz, thanks for pl.comp.lang.python I have been there and even 
asked similar queastion =). Regards/Pozdrawiam

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


Re: Problem with os.chdir()

2009-03-11 Thread venutaurus...@gmail.com
On Mar 11, 6:41 pm, Tim Golden m...@timgolden.me.uk wrote:
 venutaurus...@gmail.com wrote:
  On Mar 11, 5:19 pm, Tim Golden m...@timgolden.me.uk wrote:
  Here is my code snippet which you will be interested in:
  Indeed.

  file = ur'\\?\C:\\TestDataSet\DeepPaths
  \DeepPathLevel01\DeepPathLevel02\DeepPathLevel03\DeepPathLevel04\DeepPathLe
   
  vel05\DeepPathLevel06\DeepPathLevel07\DeepPathLevel08\DeepPathLevel09\DeepP
   
  athLevel10\DeepPathLevel11\DeepPathLevel12\DeepPathLevel13\DeepPathLevel14\
   DeepPathLevel15\DeepPathLevel16\DeepPathLevel172.txt'
  And what happens if you remove that second double-backslash,
  the one between C: and TestDataSet?

  TJG
  --- 
  -
  Even if I give the file path as below

  file = ur'\\?\C:\TestDataSet\DeepPaths
  \DeepPathLevel01\DeepPathLevel02\DeepPathLevel03\DeepPathLevel04\DeepPathLe 
  vel05\DeepPathLevel06\DeepPathLevel07\DeepPathLevel08\DeepPathLevel09\DeepP 
  athLevel10\DeepPathLevel11\DeepPathLevel12\DeepPathLevel13\DeepPathLevel14\ 
  DeepPathLevel15\DeepPathLevel16\DeepPathLevel172.txt'

  I am still getting the exception:

  Traceback (most recent call last):
    File C:\JPDump\test.py, line 29, in module
      renameStubs(file)
    File C:\JPDump\test.py, line 12, in renameStubs
      os.chdir (path)
  WindowsError: [Error 206] The filename or extension is too long: u'\\\
  \?\\C:\\TestDataSet\\DeepPaths\\DeepPathLevel01\\DeepPathLevel02\
  \DeepPathLevel03\\DeepPathLevel04\\DeepPathLevel05\\DeepPathLevel06\
  \DeepPathLevel07\\DeepPathLevel08\\DeepPathLevel09\\DeepPathLevel10\
  \DeepPathLevel11\\DeepPathLevel12\\DeepPathLevel13\\DeepPathLevel14\
  \DeepPathLevel15\\DeepPathLevel16\\'

 Well, the source for os.chdir under Windows uses the Win32
 SetCurrentDirectoryW API as expected. What is not expected
 is that the MS docs for that function:

  http://msdn.microsoft.com/en-us/library/aa365530(VS.85).aspx

 still seem to suggest that you can't exceed MAX_PATH (ie 260)
 characters. And indeed, attempting to do a mkdir at the command
 line of something longer than that will also fail.

 Hmmm.. maybe the usual advice for naming files \\?\... doesn't
 apply to directory paths?

 Do you have an already existing full pathname that long?

 TJG

Yes Sir,
  My application demands me to create deep paths of (1023) long.
I've cross checked it and the folder actually exists.

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


Re: can python import class or module directly from a zip package

2009-03-11 Thread Gabriel Genellina

En Wed, 11 Mar 2009 11:47:54 -0200, Lorenzo lolue...@gmail.com escribió:

On Mar 10, 2:13 pm, Flank fla...@gmail.com wrote:



can python import class or  module directly from  a zip package ,just
like jave does from jar package without extracting the class file into
directory

so far as i know ,python module should be unzip to file system in
order to use them,


After a little digging/googling, the answer came right from the docs:

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

I think that this module is just right what you need.


Note that you don't have to do anything special to use zipimport; it's  
enabled by default.
Just make sure your zip file name is present in sys.path, as if it were a  
directory.


--
Gabriel Genellina

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


Behaviour of os.rename()

2009-03-11 Thread venutaurus...@gmail.com
Hello all,
I got a suspicion on the behaviour of os.rename
(src,dst).If the src is the path of a file and dst is a new filename
this os.rename() function is infact creating a new file with the dst
name in the current working directory and leaving the src as it is. Is
this the expected behavior? If i want the actual source file in its
orignal location to be renamed without doing os.chdir() to that
directory, is that possible?

Ex: if my script ren.py contains the following code:

os.rename(C:\\Folder1\\Folder2\\file1,file2)

  and my ren.py is in the folder D:\. Now if I run this
script, it is creating file2 in D:\ but I want it in C:
\Folder1\Folder2. is that possible?

When I checked the normal Windows rename function, it is
working to my expectations but I can't use it because my file is in a
deep path (255) which Windows won't support.

Thanks in advance,
Venu.

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


Re: Problem with os.chdir()

2009-03-11 Thread Tim Golden

venutaurus...@gmail.com wrote:

On Mar 11, 6:41 pm, Tim Golden m...@timgolden.me.uk wrote:

venutaurus...@gmail.com wrote:

On Mar 11, 5:19 pm, Tim Golden m...@timgolden.me.uk wrote:

Here is my code snippet which you will be interested in:

Indeed.

file = ur'\\?\C:\\TestDataSet\DeepPaths
\DeepPathLevel01\DeepPathLevel02\DeepPathLevel03\DeepPathLevel04\DeepPathLe 
vel05\DeepPathLevel06\DeepPathLevel07\DeepPathLevel08\DeepPathLevel09\DeepP 
athLevel10\DeepPathLevel11\DeepPathLevel12\DeepPathLevel13\DeepPathLevel14\ 
DeepPathLevel15\DeepPathLevel16\DeepPathLevel172.txt'

And what happens if you remove that second double-backslash,
the one between C: and TestDataSet?
TJG

--- 
-
Even if I give the file path as below
file = ur'\\?\C:\TestDataSet\DeepPaths
\DeepPathLevel01\DeepPathLevel02\DeepPathLevel03\DeepPathLevel04\DeepPathLe 
vel05\DeepPathLevel06\DeepPathLevel07\DeepPathLevel08\DeepPathLevel09\DeepP 
athLevel10\DeepPathLevel11\DeepPathLevel12\DeepPathLevel13\DeepPathLevel14\ 
DeepPathLevel15\DeepPathLevel16\DeepPathLevel172.txt'
I am still getting the exception:
Traceback (most recent call last):
  File C:\JPDump\test.py, line 29, in module
renameStubs(file)
  File C:\JPDump\test.py, line 12, in renameStubs
os.chdir (path)
WindowsError: [Error 206] The filename or extension is too long: u'\\\
\?\\C:\\TestDataSet\\DeepPaths\\DeepPathLevel01\\DeepPathLevel02\
\DeepPathLevel03\\DeepPathLevel04\\DeepPathLevel05\\DeepPathLevel06\
\DeepPathLevel07\\DeepPathLevel08\\DeepPathLevel09\\DeepPathLevel10\
\DeepPathLevel11\\DeepPathLevel12\\DeepPathLevel13\\DeepPathLevel14\
\DeepPathLevel15\\DeepPathLevel16\\'

Well, the source for os.chdir under Windows uses the Win32
SetCurrentDirectoryW API as expected. What is not expected
is that the MS docs for that function:

 http://msdn.microsoft.com/en-us/library/aa365530(VS.85).aspx

still seem to suggest that you can't exceed MAX_PATH (ie 260)
characters. And indeed, attempting to do a mkdir at the command
line of something longer than that will also fail.

Hmmm.. maybe the usual advice for naming files \\?\... doesn't
apply to directory paths?

Do you have an already existing full pathname that long?

TJG


Yes Sir,
  My application demands me to create deep paths of (1023) long.
I've cross checked it and the folder actually exists.



Well, a little bit of experimentation shows that you can
*create* paths this deep (say, with os.mkdir). But you
can't actually set the current directory to it. So the
next question is: do you actually need to be *in* that
directory, rather than simply to reference it?

In other words, you can do this (assuming you have a c:\temp):

code
import os
for i in range (1, 15):
 os.mkdir (ur\\?\c:\temp\%s % \\.join (100 * c for j in range (i)))

/code

But you can't then os.chdir to it. You're hitting the limits of
the OS. Try accessing files directly within the structure
you're using. (ie without chdir-ing there first).

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


Re: Behaviour of os.rename()

2009-03-11 Thread Tim Golden

venutaurus...@gmail.com wrote:

Hello all,
I got a suspicion on the behaviour of os.rename
(src,dst).If the src is the path of a file and dst is a new filename
this os.rename() function is infact creating a new file with the dst
name in the current working directory and leaving the src as it is. Is
this the expected behavior? If i want the actual source file in its
orignal location to be renamed without doing os.chdir() to that
directory, is that possible?

Ex: if my script ren.py contains the following code:

os.rename(C:\\Folder1\\Folder2\\file1,file2)

  and my ren.py is in the folder D:\. Now if I run this
script, it is creating file2 in D:\ but I want it in C:
\Folder1\Folder2. is that possible?

When I checked the normal Windows rename function, it is
working to my expectations but I can't use it because my file is in a
deep path (255) which Windows won't support.


os.rename on windows calls the Windows MoveFile API:

 http://msdn.microsoft.com/en-us/library/aa365239(VS.85).aspx

Have a look at the details on that page to see what
the limitations / actions are. But remember -- as I've
indicated elsewhere -- to use the ur\\?\c:\... form
of the file names.

And let us know if that works :)

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


Re: Problem with os.chdir()

2009-03-11 Thread venutaurus...@gmail.com
On Mar 11, 7:17 pm, Tim Golden m...@timgolden.me.uk wrote:
 venutaurus...@gmail.com wrote:
  On Mar 11, 6:41 pm, Tim Golden m...@timgolden.me.uk wrote:
  venutaurus...@gmail.com wrote:
  On Mar 11, 5:19 pm, Tim Golden m...@timgolden.me.uk wrote:
  Here is my code snippet which you will be interested in:
  Indeed.
  file = ur'\\?\C:\\TestDataSet\DeepPaths
  \DeepPathLevel01\DeepPathLevel02\DeepPathLevel03\DeepPathLevel04\DeepPathLe
   
  vel05\DeepPathLevel06\DeepPathLevel07\DeepPathLevel08\DeepPathLevel09\DeepP
   
  athLevel10\DeepPathLevel11\DeepPathLevel12\DeepPathLevel13\DeepPathLevel14\
   DeepPathLevel15\DeepPathLevel16\DeepPathLevel172.txt'
  And what happens if you remove that second double-backslash,
  the one between C: and TestDataSet?
  TJG
  ---
   -
  Even if I give the file path as below
  file = ur'\\?\C:\TestDataSet\DeepPaths
  \DeepPathLevel01\DeepPathLevel02\DeepPathLevel03\DeepPathLevel04\DeepPathLe
   
  vel05\DeepPathLevel06\DeepPathLevel07\DeepPathLevel08\DeepPathLevel09\DeepP
   
  athLevel10\DeepPathLevel11\DeepPathLevel12\DeepPathLevel13\DeepPathLevel14\
   DeepPathLevel15\DeepPathLevel16\DeepPathLevel172.txt'
  I am still getting the exception:
  Traceback (most recent call last):
    File C:\JPDump\test.py, line 29, in module
      renameStubs(file)
    File C:\JPDump\test.py, line 12, in renameStubs
      os.chdir (path)
  WindowsError: [Error 206] The filename or extension is too long: u'\\\
  \?\\C:\\TestDataSet\\DeepPaths\\DeepPathLevel01\\DeepPathLevel02\
  \DeepPathLevel03\\DeepPathLevel04\\DeepPathLevel05\\DeepPathLevel06\
  \DeepPathLevel07\\DeepPathLevel08\\DeepPathLevel09\\DeepPathLevel10\
  \DeepPathLevel11\\DeepPathLevel12\\DeepPathLevel13\\DeepPathLevel14\
  \DeepPathLevel15\\DeepPathLevel16\\'
  Well, the source for os.chdir under Windows uses the Win32
  SetCurrentDirectoryW API as expected. What is not expected
  is that the MS docs for that function:

   http://msdn.microsoft.com/en-us/library/aa365530(VS.85).aspx

  still seem to suggest that you can't exceed MAX_PATH (ie 260)
  characters. And indeed, attempting to do a mkdir at the command
  line of something longer than that will also fail.

  Hmmm.. maybe the usual advice for naming files \\?\... doesn't
  apply to directory paths?

  Do you have an already existing full pathname that long?

  TJG

  Yes Sir,
        My application demands me to create deep paths of (1023) long.
  I've cross checked it and the folder actually exists.

 Well, a little bit of experimentation shows that you can
 *create* paths this deep (say, with os.mkdir). But you
 can't actually set the current directory to it. So the
 next question is: do you actually need to be *in* that
 directory, rather than simply to reference it?

 In other words, you can do this (assuming you have a c:\temp):

 code
 import os
 for i in range (1, 15):
   os.mkdir (ur\\?\c:\temp\%s % \\.join (100 * c for j in range (i)))

 /code

 But you can't then os.chdir to it. You're hitting the limits of
 the OS. Try accessing files directly within the structure
 you're using. (ie without chdir-ing there first).

 TJG

Sir,
   My application has to rename a file in that folder.For that I had
to do a os.chdir() to that folder. Otherwise if I do a os.rename
(deeppath\file1,file2), it is creating a new file in the current
working directory with the new name and leaving the original file as
it is which is not intended :-(. So, can you suggest me any work
around for this?

Thank you
Venu.
--
http://mail.python.org/mailman/listinfo/python-list


Re: Behaviour of os.rename()

2009-03-11 Thread Emile van Sebille

venutaurus...@gmail.com wrote:

Hello all,
I got a suspicion on the behaviour of os.rename
(src,dst).If the src is the path of a file and dst is a new filename
this os.rename() function is infact creating a new file with the dst
name in the current working directory and leaving the src as it is. Is
this the expected behavior? If i want the actual source file in its
orignal location to be renamed without doing os.chdir() to that
directory, is that possible?

Ex: if my script ren.py contains the following code:

os.rename(C:\\Folder1\\Folder2\\file1,file2)


os.rename(C:\\Folder1\\Folder2\\file1,C:\\Folder1\\Folder2\\file2)

Emile

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


Re: Problem with os.chdir()

2009-03-11 Thread Tim Golden

venutaurus...@gmail.com wrote:

On Mar 11, 7:17 pm, Tim Golden m...@timgolden.me.uk wrote:

venutaurus...@gmail.com wrote:

On Mar 11, 6:41 pm, Tim Golden m...@timgolden.me.uk wrote:

venutaurus...@gmail.com wrote:

On Mar 11, 5:19 pm, Tim Golden m...@timgolden.me.uk wrote:

Here is my code snippet which you will be interested in:

Indeed.

file = ur'\\?\C:\\TestDataSet\DeepPaths
\DeepPathLevel01\DeepPathLevel02\DeepPathLevel03\DeepPathLevel04\DeepPathLe 
vel05\DeepPathLevel06\DeepPathLevel07\DeepPathLevel08\DeepPathLevel09\DeepP 
athLevel10\DeepPathLevel11\DeepPathLevel12\DeepPathLevel13\DeepPathLevel14\ 
DeepPathLevel15\DeepPathLevel16\DeepPathLevel172.txt'

And what happens if you remove that second double-backslash,
the one between C: and TestDataSet?
TJG

--- 
-
Even if I give the file path as below
file = ur'\\?\C:\TestDataSet\DeepPaths
\DeepPathLevel01\DeepPathLevel02\DeepPathLevel03\DeepPathLevel04\DeepPathLe 
vel05\DeepPathLevel06\DeepPathLevel07\DeepPathLevel08\DeepPathLevel09\DeepP 
athLevel10\DeepPathLevel11\DeepPathLevel12\DeepPathLevel13\DeepPathLevel14\ 
DeepPathLevel15\DeepPathLevel16\DeepPathLevel172.txt'
I am still getting the exception:
Traceback (most recent call last):
  File C:\JPDump\test.py, line 29, in module
renameStubs(file)
  File C:\JPDump\test.py, line 12, in renameStubs
os.chdir (path)
WindowsError: [Error 206] The filename or extension is too long: u'\\\
\?\\C:\\TestDataSet\\DeepPaths\\DeepPathLevel01\\DeepPathLevel02\
\DeepPathLevel03\\DeepPathLevel04\\DeepPathLevel05\\DeepPathLevel06\
\DeepPathLevel07\\DeepPathLevel08\\DeepPathLevel09\\DeepPathLevel10\
\DeepPathLevel11\\DeepPathLevel12\\DeepPathLevel13\\DeepPathLevel14\
\DeepPathLevel15\\DeepPathLevel16\\'

Well, the source for os.chdir under Windows uses the Win32
SetCurrentDirectoryW API as expected. What is not expected
is that the MS docs for that function:
 http://msdn.microsoft.com/en-us/library/aa365530(VS.85).aspx
still seem to suggest that you can't exceed MAX_PATH (ie 260)
characters. And indeed, attempting to do a mkdir at the command
line of something longer than that will also fail.
Hmmm.. maybe the usual advice for naming files \\?\... doesn't
apply to directory paths?
Do you have an already existing full pathname that long?
TJG

Yes Sir,
  My application demands me to create deep paths of (1023) long.
I've cross checked it and the folder actually exists.

Well, a little bit of experimentation shows that you can
*create* paths this deep (say, with os.mkdir). But you
can't actually set the current directory to it. So the
next question is: do you actually need to be *in* that
directory, rather than simply to reference it?

In other words, you can do this (assuming you have a c:\temp):

code
import os
for i in range (1, 15):
  os.mkdir (ur\\?\c:\temp\%s % \\.join (100 * c for j in range (i)))

/code

But you can't then os.chdir to it. You're hitting the limits of
the OS. Try accessing files directly within the structure
you're using. (ie without chdir-ing there first).

TJG


Sir,
   My application has to rename a file in that folder.For that I had
to do a os.chdir() to that folder. Otherwise if I do a os.rename
(deeppath\file1,file2), it is creating a new file in the current
working directory with the new name and leaving the original file as
it is which is not intended :-(. So, can you suggest me any work
around for this?


Jus
t rename from and to with a full pathname (using the \\?\ bit):

os.rename (ur\\?\c:\long\path\to\file.txt, 
ur\\?\c:\long\path\to\newfile.txt)

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


Re: Problem with os.chdir()

2009-03-11 Thread Gabriel Genellina
En Wed, 11 Mar 2009 11:59:57 -0200, venutaurus...@gmail.com  
venutaurus...@gmail.com escribió:

On Mar 11, 6:41 pm, Tim Golden m...@timgolden.me.uk wrote:

venutaurus...@gmail.com wrote:
 On Mar 11, 5:19 pm, Tim Golden m...@timgolden.me.uk wrote:

Well, the source for os.chdir under Windows uses the Win32
SetCurrentDirectoryW API as expected. What is not expected
is that the MS docs for that function:

 http://msdn.microsoft.com/en-us/library/aa365530(VS.85).aspx

still seem to suggest that you can't exceed MAX_PATH (ie 260)
characters. And indeed, attempting to do a mkdir at the command
line of something longer than that will also fail.

Hmmm.. maybe the usual advice for naming files \\?\... doesn't
apply to directory paths?

Do you have an already existing full pathname that long?


  My application demands me to create deep paths of (1023) long.
I've cross checked it and the folder actually exists.


As TJG said, it appears that you can create such deep path, and create and  
use files inside, but you can't chdir into it:


py cien = '0123456789'*10
py path = ur\\?\c:\%s\%s\%s\%s\%s\%s\%s\%s\%s\%s\%s\%s % ((cien,)*12)
py len(path)
1218
py os.mkdir(path) # after creating all intermediate directories
py fn = os.path.join(path, 'x.txt')
py f = open(fn, w)
py f.write(hello)
py f.close()
py open(fn).read()
'hello'
py os.chdir(path)
Traceback (most recent call last):
  File stdin, line 1, in module
WindowsError: [Error 123] El nombre de archivo, directorio o etiqueta del  
volume
n no es vßlido:  
u'?\\c:\\012345678901234567890123456789012345678901234567890...


So your application should always use absolute paths.

--
Gabriel Genellina

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


Re: Behaviour of os.rename()

2009-03-11 Thread venutaurus...@gmail.com
On Mar 11, 7:20 pm, Tim Golden m...@timgolden.me.uk wrote:
 venutaurus...@gmail.com wrote:
  Hello all,
              I got a suspicion on the behaviour of os.rename
  (src,dst).If the src is the path of a file and dst is a new filename
  this os.rename() function is infact creating a new file with the dst
  name in the current working directory and leaving the src as it is. Is
  this the expected behavior? If i want the actual source file in its
  orignal location to be renamed without doing os.chdir() to that
  directory, is that possible?

  Ex: if my script ren.py contains the following code:

  os.rename(C:\\Folder1\\Folder2\\file1,file2)

                and my ren.py is in the folder D:\. Now if I run this
  script, it is creating file2 in D:\ but I want it in C:
  \Folder1\Folder2. is that possible?

              When I checked the normal Windows rename function, it is
  working to my expectations but I can't use it because my file is in a
  deep path (255) which Windows won't support.

 os.rename on windows calls the Windows MoveFile API:

  http://msdn.microsoft.com/en-us/library/aa365239(VS.85).aspx

 Have a look at the details on that page to see what
 the limitations / actions are. But remember -- as I've
 indicated elsewhere -- to use the ur\\?\c:\... form
 of the file names.

 And let us know if that works :)

 TJG

That actually was an illustration. As you've told in another chain, it
isn't working even after appending \\?\

Thank you,
Venu
--
http://mail.python.org/mailman/listinfo/python-list


Re: Behaviour of os.rename()

2009-03-11 Thread venutaurus...@gmail.com
On Mar 11, 7:27 pm, Emile van Sebille em...@fenx.com wrote:
 venutaurus...@gmail.com wrote:
  Hello all,
              I got a suspicion on the behaviour of os.rename
  (src,dst).If the src is the path of a file and dst is a new filename
  this os.rename() function is infact creating a new file with the dst
  name in the current working directory and leaving the src as it is. Is
  this the expected behavior? If i want the actual source file in its
  orignal location to be renamed without doing os.chdir() to that
  directory, is that possible?

  Ex: if my script ren.py contains the following code:

  os.rename(C:\\Folder1\\Folder2\\file1,file2)

 os.rename(C:\\Folder1\\Folder2\\file1,C:\\Folder1\\Folder2\\file2)

 Emile

Thank you,
It worked :-)
--
http://mail.python.org/mailman/listinfo/python-list


strange problem with Py2exe

2009-03-11 Thread sf409777
Hello all,
in the past I've used Py2exe without any problem, but now I have this
strange difficulty.
In my computer I have  python 2.6,  py2exe for python 2.6 and the
distutils, but when I do:

from distutils.core import setup
import py2exe
setup(console=['hello.py'])

( like written in:   http://www.py2exe.org/index.cgi/Tutorial )

at the end (at the command 'setup') all exits from python and I am
again in DOS.
(The same occurs when I use a file: e.g.  python 1.py)

Where do I go wrong?

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


functions - where to store them

2009-03-11 Thread plsullivan1
I have several functions which I would like to store in a different
directory so several programs can use them. I can't seem to find much
information about how to call a function if the function code is not
actually in the script itself.
The problem: do I have to cut and paste functions into a script or can
I store them in a directory and call them from a script in another
directory. If the latter is possible, how is this done? Thanks.
--
http://mail.python.org/mailman/listinfo/python-list


Re: Set Frozenset?

2009-03-11 Thread Lie Ryan

R. David Murray wrote:

Lie Ryan lie.1...@gmail.com wrote:

Matt Nordhoff wrote:

Alan G Isaac wrote:

Hans Larsen schrieb:
How could I take an elemment from a set or a frozenset 

On 3/8/2009 2:06 PM Diez B. Roggisch apparently wrote:

You iterate over them. If you only want one value, use
iter(the_set).next()

I recall a claim that

for result in myset: break

is the most efficient way to get one result.
Is this right? (It seems nearly the same.)

Alan Isaac

Checking Python 2.5 on Linux, your solution is much faster, but seeing
as they both come in under a microsecond, it hardly matters.


It's unexpected...

  timeit.timeit('res=iter(myset).next()', 'myset=range(100)')
0.8894412399647
  timeit.timeit('res=myset.next()', 'myset=range(100); 
myset=iter(myset)')

0.4916552002516
  timeit.timeit('for res in myset: break', 'myset=range(100)')
0.3293300797699

I'd never expect that for-loop assignment is even faster than a 
precreated iter object (the second test)... but I don't think this 
for-looping variable leaking behavior is guaranteed, isn't it?


My guess would be that what's controlling the timing here is
name lookup.  Three in the first example, two in the second,
and one in the third.


You got it:

 timeit.timeit('res=myset()', 'myset=range(100); 
myset=iter(myset).next')

0.2646590399796


--

The following is a complete benchmark:

 timeit.timeit('res=iter(myset).next()', 'myset=range(1000)', 
number=1000)

8.514500200432

 timeit.timeit('res=myset.next()', 'myset=range(1000); 
myset=iter(myset)', number=1000)

4.550980280898

 timeit.timeit('for res in myset: break', 'myset=range(1000)', 
number=1000)

2.999421360421

 timeit.timeit('res=myset()', 'myset=range(1000); 
myset=iter(myset).next', number=1000)

2.222883241011

--
I also performed additional timing for overhead:

Local name lookup:
 timeit.timeit('myset', 'myset=range(100)', number=1000)
1.108640079865

Global name lookup:
 timeit.timeit('iter', number=1000)
1.814941079259

Attribute lookup:
 timeit.timeit('myset.next', 'myset=range(1000); 
myset=iter(myset)', number=1000)

3.301133397987

Combined multiple name lookup that troubled first test
 timeit.timeit('iter(myset).next', 'myset=range(1000)', 
number=1000)

6.559937480305

Creating iterables:
 timeit.timeit('iter(myset)', 'myset=range(100)', number=1000)
4.25940671788

--
So adjusting the overheads:

Attribute lookup:
 timeit.timeit('myset.next', 'myset=range(1000); 
myset=iter(myset)', number=1000)

3.301133397987
The timing for Attribute also include a local name lookup (myset), so 
the real attribute lookup time shold be:

3.301133397987 - 1.108640079865 = 2.192493318122

Creating iterables:
 timeit.timeit('iter(myset)', 'myset=range(100)', number=1000)
4.25940671788
Creating iterable involve global name lookup, so the real time should be:
4.25940671788 - 1.814941079259 = 2.65638621

--
To summarize the adjusted overheads:

Local name lookup: 1.108640079865
Global name lookup: 1.814941079259
Attribute lookup: 2.192493318122
Creating iterables: 2.65638621

--
Back to the problem, now we'll be adjusting the timing of each codes:
'res=iter(myset).next()': 8.514500200432
Adjusting with the Combined multiple name lookup
8.514500200432 - 6.559937480305 = 1.954562720126
Another way to do the adjustment:
Adjusting global name lookup (iter):
8.514500200432 - 1.814941079259 = 6.699559121172
Adjusting iterable creation:
6.699559121172 - 2.65638621 = 4.255093482551
Adjusting attribute lookup:
4.255093482551 - 2.192493318122 = 2.062600164429

'res=myset.next()': 4.550980280898
Adjusting with |unadjusted| attribute lookup:
4.550980280898 - 3.301133397987 = 1.249846882911
Another way to do the adjustment:
Adjusting with local name lookup:
4.550980280898 - 1.108640079865 = 3.442340201033
Adjusting with attribute lookup:
3.442340201033 - 2.192493318122 = 1.249846882911

'for res in myset: break': 2.999421360421
Adjusting for local name lookup (myset):
2.999421360421 - 1.108640079865 = 1.890781280556

'res=myset()': 2.222883241011
Adjusting for local name lookup
2.222883241011 - 1.108640079865 = 1.114243161146

--

To summarize:
'res=iter(myset).next()': 1.954562720126 / 2.062600164429
'res=myset.next()': 1.249846882911 / 1.249846882911
'for res in myset: break': 1.890781280556
'res=myset()': 1.114243161146

--

To conclude, 'for res in myset: break' is actually not much faster than 
'res=iter(myset).next()' except the former saves a lot of name lookup. 
The problem with 

Re: functions - where to store them

2009-03-11 Thread Gabriel Genellina

En Wed, 11 Mar 2009 12:46:05 -0200, plsulliv...@gmail.com escribió:


I have several functions which I would like to store in a different
directory so several programs can use them. I can't seem to find much
information about how to call a function if the function code is not
actually in the script itself.
The problem: do I have to cut and paste functions into a script or can
I store them in a directory and call them from a script in another
directory. If the latter is possible, how is this done? Thanks.


I suggest you read the Python tutorial at http://docs.python.org/tutorial
In particular, you're looking for modules, and they're covered at  
http://docs.python.org/tutorial/modules.html


If you quit from the Python interpreter and enter it again, the  
definitions you have made (functions and variables) are lost. Therefore,  
if you want to write a somewhat longer program, you are better off using a  
text editor to prepare the input for the interpreter and running it with  
that file as input instead. This is known as creating a script. As your  
program gets longer, you may want to split it into several files for  
easier maintenance. You may also want to use a handy function that you’ve  
written in several programs without copying its definition into each  
program.


To support this, Python has a way to put definitions in a file and use  
them in a script or in an interactive instance of the interpreter. Such a  
file is called a module; definitions from a module can be imported into  
other modules or into the main module.


--
Gabriel Genellina

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


Re: functions - where to store them

2009-03-11 Thread Marco Mariani

plsulliv...@gmail.com wrote:


I have several functions which I would like to store in a different
directory so several programs can use them. I can't seem to find much
information about how to call a function if the function code is not
actually in the script itself.


read the tutorial, look for modules and packages

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


Re: functions - where to store them

2009-03-11 Thread plsullivan1
On Mar 11, 10:46 am, plsulliv...@gmail.com wrote:
 I have several functions which I would like to store in a different
 directory so several programs can use them. I can't seem to find much
 information about how to call a function if the function code is not
 actually in the script itself.
 The problem: do I have to cut and paste functions into a script or can
 I store them in a directory and call them from a script in another
 directory. If the latter is possible, how is this done? Thanks.

Nevermind... it's like buying something to replace what was lost only
to find the lost one.
--
http://mail.python.org/mailman/listinfo/python-list


Re: functions - where to store them

2009-03-11 Thread Lie Ryan

plsulliv...@gmail.com wrote:

I have several functions which I would like to store in a different
directory so several programs can use them. I can't seem to find much
information about how to call a function if the function code is not
actually in the script itself.
The problem: do I have to cut and paste functions into a script or can
I store them in a directory and call them from a script in another
directory. If the latter is possible, how is this done? Thanks.


Yes of course. It is called module.

file: functioncoll.py

def foo(): pass
def bar(): pass

file program.py
import functioncoll

functioncoll.foo()


Note: functioncoll.py must be in your python search path. One way to 
easily ensure it is in the search path is to put functioncoll.py in the 
same directory as program.py


Note that all the usual tricks with import also works, like
from functioncoll import foo, bar
import functioncoll as fc
--
http://mail.python.org/mailman/listinfo/python-list


UnicodeEncode Error ?

2009-03-11 Thread Rama Vadakattu
While doing the below

1) fetch  html page
2) extract title using BeatifulSoup
3) Save into the database.

iam getting the below error (at the bottom).

Few observations which i had:
 1) type of variable which holds this title is class
'BeautifulSoup.NavigableString'
 2) iam getting this problem when the title has character whose
ordinal value  128

I searched in google and tried various suggestions but none of them is
working.And also i couldnot able to understand the rootcause for such
a kind of behaviour.

What will be the root cause for such a kind of problem?Any hint on how
to resolve this error?

~~~
Error
--
Traceback (most recent call last):
  File fetchcron.py, line 11, in module
cmanager.triggerfetchFeed()
  File /home/rama/djangoprojects/socialreader/views.py, line 40, in
triggerfetchFeed
self.fetchFeed(furl)
  File /home/rama/djangoprojects/socialreader/views.py, line 102, in
fetchFeed
ne.save()
  File /usr/lib/python2.5/site-packages/django/db/models/base.py,
line 311, in save
self.save_base(force_insert=force_insert,
force_update=force_update)
  File /usr/lib/python2.5/site-packages/django/db/models/base.py,
line 383, in save_base
result = manager._insert(values, return_id=update_pk)
  File /usr/lib/python2.5/site-packages/django/db/models/manager.py,
line 138, in _insert
return insert_query(self.model, values, **kwargs)
  File /usr/lib/python2.5/site-packages/django/db/models/query.py,
line 894, in insert_query
return query.execute_sql(return_id)
  File /usr/lib/python2.5/site-packages/django/db/models/sql/
subqueries.py, line 309, in execute_sql
cursor = super(InsertQuery, self).execute_sql(None)
  File /usr/lib/python2.5/site-packages/django/db/models/sql/
query.py, line 1734, in execute_sql
cursor.execute(sql, params)
  File /usr/lib/python2.5/site-packages/django/db/backends/util.py,
line 19, in execute
return self.cursor.execute(sql, params)
  File /usr/lib/python2.5/site-packages/django/db/backends/mysql/
base.py, line 83, in execute
return self.cursor.execute(query, args)
  File /var/lib/python-support/python2.5/MySQLdb/cursors.py, line
151, in execute
query = query % db.literal(args)
  File /var/lib/python-support/python2.5/MySQLdb/connections.py,
line 247, in literal
return self.escape(o, self.encoders)
  File /var/lib/python-support/python2.5/MySQLdb/connections.py,
line 180, in string_literal
return db.string_literal(obj)
UnicodeEncodeError: 'ascii' codec can't encode character u'\xc9' in
position 1: ordinal not in range(128)
---
--
http://mail.python.org/mailman/listinfo/python-list


Re: UnicodeEncode Error ?

2009-03-11 Thread Lie Ryan

Rama Vadakattu wrote:

While doing the below

1) fetch  html page
2) extract title using BeatifulSoup
3) Save into the database.

iam getting the below error (at the bottom).

Few observations which i had:
 1) type of variable which holds this title is class
'BeautifulSoup.NavigableString'
 2) iam getting this problem when the title has character whose
ordinal value  128

I searched in google and tried various suggestions but none of them is
working.And also i couldnot able to understand the rootcause for such
a kind of behaviour.


What's the title of the feed. I guess it contains non-ASCII character. 
Try encoding the title with a proper encoding that can handle the 
title's character set (utf-8 is a good choice), then save it again to 
the database.

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


Visual Studio 2005 build of Python 2.4, 2.5 or 2.6

2009-03-11 Thread paul.baum...@googlemail.com
Hello,

I am a bit lost with all the possible builds of python on Windoze. I
am looking for a Visual Studio 2005 build of Python 2.4, 2.5 or 2.6
incl. debug build of the python24.lib e.g. python24_d.lib ?

Any hints are appreciated.

Paul

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


Read a content file from a P7M

2009-03-11 Thread Luca
Hi all.

There is standard or sugested way in python to read the content of a P7M file?

I don't need no feature like verify sign, or sign using a certificate.
I only need to extract the content file of the p7m (a doc, a pdf, ...)

Thanks!

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


Python-URL! - weekly Python news and links (Mar 11)

2009-03-11 Thread Gabriel Genellina
QOTW:  [Perhaps] it sounds [as though] I'm saying that most prospective users
of OSS [open-source software] can't even manage to download it.  Let me be
clear: that is exactly what I am saying. - Patrick McKenzie

http://www.kalzumeus.com/2009/03/07/how-to-successfully-compete-with-open-source-software/


New itertool candidate: like groupby but edge-triggered (or
event-triggered):
http://groups.google.com/group/comp.lang.python/t/d364e7b16bf151c7/

Is python worth learning as a second language?
http://groups.google.com/group/comp.lang.python/t/c444c1229aed90c1/

Other language used to have significant indentation, but is now
considering alternatives to allow multiline expressions (like a
multiline lambda in Python):
http://groups.google.com/group/comp.lang.python/t/52dcdb09b4d73915/

Enumerating all modules imported by a script:
http://groups.google.com/group/comp.lang.python/t/86759676867f18e8/

Several attempts to improve a code fragment involving lists, repeated
elements, and sorting:
http://groups.google.com/group/comp.lang.python/t/453f1c803b8a78e2/

Why are some strings automatically interned, and not other?
http://groups.google.com/group/comp.lang.python/t/e4daccae7e77fb0e/

Is it legal to modify an exception before re-raising it?
http://groups.google.com/group/comp.lang.python/t/f7a647405fd48f5b/

PHP has == and ===, but they do NOT behave the same as Python's
== and is operators
http://groups.google.com/group/comp.lang.python/t/a697da8a6885d87f/



Everything Python-related you want is probably one or two clicks away in
these pages:

Python.org's Python Language Website is the traditional
center of Pythonia
http://www.python.org
Notice especially the master FAQ
http://www.python.org/doc/FAQ.html

PythonWare complements the digest you're reading with the
marvelous daily python url
 http://www.pythonware.com/daily

Just beginning with Python?  This page is a great place to start:
http://wiki.python.org/moin/BeginnersGuide/Programmers

The Python Papers aims to publish the efforts of Python enthusiats:
http://pythonpapers.org/
The Python Magazine is a technical monthly devoted to Python:
http://pythonmagazine.com

Readers have recommended the Planet sites:
http://planetpython.org
http://planet.python.org

comp.lang.python.announce announces new Python software.  Be
sure to scan this newsgroup weekly.
http://groups.google.com/group/comp.lang.python.announce/topics

Python411 indexes podcasts ... to help people learn Python ...
Updates appear more-than-weekly:
http://www.awaretek.com/python/index.html

The Python Package Index catalogues packages.
http://www.python.org/pypi/

The somewhat older Vaults of Parnassus ambitiously collects references
to all sorts of Python resources.
http://www.vex.net/~x/parnassus/

Much of Python's real work takes place on Special-Interest Group
mailing lists
http://www.python.org/sigs/

Python Success Stories--from air-traffic control to on-line
match-making--can inspire you or decision-makers to whom you're
subject with a vision of what the language makes practical.
http://www.pythonology.com/success

The Python Software Foundation (PSF) has replaced the Python
Consortium as an independent nexus of activity.  It has official
responsibility for Python's development and maintenance.
http://www.python.org/psf/
Among the ways you can support PSF is with a donation.
http://www.python.org/psf/donations/

The Summary of Python Tracker Issues is an automatically generated
report summarizing new bugs, closed ones, and patch submissions. 

http://search.gmane.org/?author=status%40bugs.python.orggroup=gmane.comp.python.develsort=date

Although unmaintained since 2002, the Cetus collection of Python
hyperlinks retains a few gems.
http://www.cetus-links.org/oo_python.html

Python FAQTS
http://python.faqts.com/

The Cookbook is a collaborative effort to capture useful and
interesting recipes.
http://code.activestate.com/recipes/langs/python/

Many Python conferences around the world are in preparation.
Watch this space for links to them.

Among several Python-oriented RSS/RDF feeds available, see:
http://www.python.org/channews.rdf
For more, see:
http://www.syndic8.com/feedlist.php?ShowMatch=pythonShowStatus=all
The old Python To-Do List now lives principally in a
SourceForge reincarnation.
http://sourceforge.net/tracker/?atid=355470group_id=5470func=browse
http://www.python.org/dev/peps/pep-0042/

del.icio.us 

Re: Problem with os.chdir()

2009-03-11 Thread Hendrik van Rooyen
Tim Golden ma...lden.me.uk wrote:

 Well, a little bit of experimentation shows that you can
 *create* paths this deep (say, with os.mkdir). But you
 can't actually set the current directory to it. So the

Is this also true if you try to go there by a succession
of shorter hops of the ./next_level kind?

- Hendrik

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


calling class methods from class methods, help?

2009-03-11 Thread Oltmans
I've a multithreaded program in which I've to call class methods from
class methods. Here is how my code look like (excluding imports),. Any
help is highly appreciated.

#!/usr/bin/env python
class Requests(Thread):

def __init__(self, times):
Thread.__init__(self)
self.times=times
self.name=''
def run(self):

sites=['example.com','example1.com']
for i in range(0,self.times):
for site in sites:
self.name = site
self.html=SendRequest() # This line throws an error

def SendRequest(self): #A class method
# it sends a request to website using mechanize library

def startThis(times,reqs):

threads=[]
for i in range (0,reqs):
owner=Requests(times)
owner.start()
threads.append(owner)

for thread in threads:
thread.join()

if __name__==__main__:
#I want to create 2 threads, each of them will execute twice. At
least that is the intention.
startThis(2,2)



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


Re: Problem with os.chdir()

2009-03-11 Thread Tim Golden

Hendrik van Rooyen wrote:

Tim Golden ma...lden.me.uk wrote:


Well, a little bit of experimentation shows that you can
*create* paths this deep (say, with os.mkdir). But you
can't actually set the current directory to it. So the


Is this also true if you try to go there by a succession
of shorter hops of the ./next_level kind?

- Hendrik



Yep. Seems to be. You reach a certain point and presumably
the internal this is where I am buffer runs out of oomph.

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


Re: calling class methods from class methods, help?

2009-03-11 Thread Oltmans
On Mar 11, 10:08 pm, Oltmans rolf.oltm...@gmail.com wrote:
                 self.html=SendRequest() # This line throws an error

and error says
NameError: global name '_Requests_SendRequest' is not defined.
--
http://mail.python.org/mailman/listinfo/python-list


Re: Problem with string format

2009-03-11 Thread Terry Reedy

Mike314 wrote:

Hello,

   I have a strange problem with the string format:


'%s %s %s %s %s' % ['01', '02', '03', '04', '05']

Traceback (most recent call last):
  File stdin, line 1, in module
TypeError: not enough arguments for format string

But as soon I use tuple it is working:

'%s %s %s %s %s' % ('01', '02', '03', '04', '05')

'01 02 03 04 05'


What is the problem and how can I still use list?


This sort of confusion between object as object and object as container 
of objects was one of the reasons for the development of the new 
str.format function.  Within a call, [1,2,3] is one argument matching 
one field.  *[1,2,3], for instance, becomes three arguments matching 
three fields.


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


Re: No module named _sqlite3

2009-03-11 Thread gert
On Mar 9, 8:31 pm, gert gert.cuyk...@gmail.com wrote:
 Testing 3.1 i get this with 3.0 it works

 python/lib/python3.1/sqlite3/dbapi2.py, line 27, in module,
 ImportError:No module named _sqlite3,

never mind had some include problems during compiling, nothing to do
with 3.1
--
http://mail.python.org/mailman/listinfo/python-list


Re: calling class methods from class methods, help?

2009-03-11 Thread MRAB

Oltmans wrote:

I've a multithreaded program in which I've to call class methods from
class methods. Here is how my code look like (excluding imports),. Any
help is highly appreciated.

#!/usr/bin/env python
class Requests(Thread):

def __init__(self, times):
Thread.__init__(self)
self.times=times
self.name=''
def run(self):

sites=['example.com','example1.com']
for i in range(0,self.times):
for site in sites:
self.name = site
self.html=SendRequest() # This line throws an error

Should be:
self.html = self.SendRequest()



def SendRequest(self): #A class method
# it sends a request to website using mechanize library

def startThis(times,reqs):

threads=[]
for i in range (0,reqs):
owner=Requests(times)
owner.start()
threads.append(owner)

for thread in threads:
thread.join()

if __name__==__main__:
#I want to create 2 threads, each of them will execute twice. At
least that is the intention.
startThis(2,2)



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


Re: calling class methods from class methods, help?

2009-03-11 Thread Chris Rebert
On Wed, Mar 11, 2009 at 10:08 AM, Oltmans rolf.oltm...@gmail.com wrote:
 I've a multithreaded program in which I've to call class methods from
 class methods.

Um, those are instance methods, not class methods. Class methods take
the class itself as an argument (the parameter is typically named
cls instead of self) and are defined with the help of the
classmethod() function, which is not the case in your code.

Cheers,
Chris

-- 
I have a blog:
http://blog.rebertia.com
--
http://mail.python.org/mailman/listinfo/python-list


Re: factory functions methods

2009-03-11 Thread Piet van Oostrum
 Aaron Brady castiro...@gmail.com (AB) wrote:

AB Hello,
AB I am creating a container.  I have some types which are built to be
AB members of the container.  The members need to know which container
AB they are in, as they call methods on it, such as finding other
AB members.  I want help with the syntax to create the members.
AB Currently, the container has to be a parameter to the instantiation
AB methods.  I want the option to create members with attribute syntax
AB instead.

AB Currently, I have:

AB cA= Container( )
AB obA= SomeType( cA )
AB obB= OtherType( cA, otherarg )

AB I want:

AB cA= Container( )
AB obA= cA.SomeType( )
AB obB= cA.OtherType( otherarg )

AB What are my options?

AB P.S.  The container and members are C extension types, not pure Python.

You could do something like this (translated to C)

class Container(object):
  def __init__(self):
self.items = []
  def add(self, item):
self.items.append(item)
  def SomeType(self):
  newobj = SomeType()
  self.add(newobj)
  def OtherType(self, arg):
  newobj = OtherType(arg)
  self.add(newobj)
  
class SomeType(object):
  def __init__(self):
  pass
  
class OtherType(SomeType):
  def __init__(self, arg):
SomeType.__init__(self)
self.x = arg

cA = Container()
obA = cA.SomeType()
obB = cA.OtherType(5)
print cA.items

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


Re: Stopping SocketServer on Python 2.5

2009-03-11 Thread Falcolas
On Mar 10, 7:19 pm, David George d...@eatmyhat.co.uk wrote:
 So, my question is, is there any way to stop a SocketServer that's been
 told to server forever in python 2.5?

serve_forever, in python 2.5, is simply coded as:

while 1:
self.handle_request()

So, instead of calling serve_forever, call handle_request in your own
loop with a shutdown flag. Assuming, of course, that you aren't using
the Forking server, in which case things get more interesting.

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


Re: calling class methods from class methods, help?

2009-03-11 Thread Piet van Oostrum
 Oltmans rolf.oltm...@gmail.com (O) escribió:

O I've a multithreaded program in which I've to call class methods from
O class methods. Here is how my code look like (excluding imports),. Any
O help is highly appreciated.

O #!/usr/bin/env python
O class Requests(Thread):

O def __init__(self, times):
O Thread.__init__(self)
O self.times=times
O self.name=''
O def run(self):

O sites=['example.com','example1.com']
O for i in range(0,self.times):
O for site in sites:
O self.name = site
O self.html=SendRequest() # This line throws an error

self.html=self.SendRequest()
-- 
Piet van Oostrum p...@cs.uu.nl
URL: http://pietvanoostrum.com [PGP 8DAE142BE17999C4]
Private email: p...@vanoostrum.org
--
http://mail.python.org/mailman/listinfo/python-list


Re: Visual Studio 2005 build of Python 2.4, 2.5 or 2.6

2009-03-11 Thread Martin v. Löwis
 I am a bit lost with all the possible builds of python on Windoze. I
 am looking for a Visual Studio 2005 build of Python 2.4, 2.5 or 2.6
 incl. debug build of the python24.lib e.g. python24_d.lib ?

What's the problem with creating one yourself?

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


Re: Battleship style game

2009-03-11 Thread Shawn Milochik
Thanks for the tips, everybody.

I've cleaned it up, and learned some useful things from your comments
and the reading they led to.

http://shawnmilo.com/ships/
--
http://mail.python.org/mailman/listinfo/python-list


Re: Problem with os.chdir()

2009-03-11 Thread van Asselt
Hello,

In order to prevent this type of problems, I alway do the following:

import path

path = something
path = os.path.normpath(path)
os.chdir(path)

This prevents a lot of problems for me.

Regards,
Henk

Tim Golden m...@timgolden.me.uk wrote in message 
news:mailman.1646.1236751732.11746.python-l...@python.org...
 venutaurus...@gmail.com wrote:
 Hello all,
I am writing a python script which has to access deep paths
 then supported normally by the Windows OS (255). So I am appending \
 \?\ to do so. But when I use the path in the above fashion with
 os.chdir() it is unable to recognize my folder and throwing an error:

 Traceback (most recent call last):
   File C:\JPDump\test.py, line 31, in module
 renameStubs(file)
   File C:\JPDump\test.py, line 15, in renameStubs
 os.chdir (path)
 WindowsError: [Error 123] The filename, directory name, or volume
 label syntax is incorrect: '\\?\\C:\\TestDataSet\
 \Many_Files_1_1KB_FIles\\001_0009_1000 FILES\\'

 The value of my path variable is
 \?\C:\TestDataSet\Many_Files_1_1KB_FIles\001_0009_1000 FILES\


 There need to be two backslashes at the beginning:

 \\?\C:\TEST.FILES\

 Note the double backslash before the question mark.

 TJG 


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


Re: Stopping SocketServer on Python 2.5

2009-03-11 Thread David George

On 2009-03-11 04:36:29 +, Mark Tolonen metolone+gm...@gmail.com said:



David George d...@eatmyhat.co.uk wrote in message 
news:00150e67$0$27956$c3e8...@news.astraweb.com...

Hi guys,

I've been developing some code for a university project using Python. 
We've been working on an existing codebase, cleaning it up and removing 
dead wood.


We decided to make some changes to internal message handling by using a 
SocketServer, which worked great when we were using 2.6, as we could 
simply call its shutdown() method when we wanted to stop it from 
'serving forever'.


Unfortunately, we've now needed to downgrade to python 2.5 to 
accomodate the libtorrent python bindings we need to use as part of the 
project.


So, my question is, is there any way to stop a SocketServer that's been 
told to server forever in python 2.5?


Sure, derive a class from one of the classes in SocketServer, and 
override the methods that implement the shutdown behavior in 2.6.


-Mark


Based on what you guys have said i've had a look at the code for 
serve_forever() in both 2.5 and 2.6, and tried to create my own derived 
class in this manner:


class MBThreadingTCPServer(SocketServer.ThreadingTCPServer):

   def __init__(self, address_tuple, handler):
   SocketServer.ThreadingTCPServer.__init__(self, address_tuple, handler)
   self.__serving = True

   def serve_forever(self):
   while self.__serving:
   SocketServer.ThreadingTCPServer.handle_request(self)

   def shutdown(self):
   self.__serving = False

Don't worry about the MB thing, it's just related to the name of our project.

I don't think i've done this right, but i've tried to implement the 
serve_forever() functionality in my derived class, and also add the 
shutdown() method so i can stop it.


Does this appear to be the right way to do things?

Cheers,

Dave

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


Re: Stopping SocketServer on Python 2.5

2009-03-11 Thread Falcolas
On Mar 11, 12:28 pm, David George wrote:
 On 2009-03-11 04:36:29 +, Mark Tolonen metolone+gm...@gmail.com said:





  David George d...@eatmyhat.co.uk wrote in message
 news:00150e67$0$27956$c3e8...@news.astraweb.com...
  Hi guys,

  I've been developing some code for a university project using Python.
  We've been working on an existing codebase, cleaning it up and removing
  dead wood.

  We decided to make some changes to internal message handling by using a
  SocketServer, which worked great when we were using 2.6, as we could
  simply call its shutdown() method when we wanted to stop it from
  'serving forever'.

  Unfortunately, we've now needed to downgrade to python 2.5 to
  accomodate the libtorrent python bindings we need to use as part of the
  project.

  So, my question is, is there any way to stop a SocketServer that's been
  told to server forever in python 2.5?

  Sure, derive a class from one of the classes in SocketServer, and
  override the methods that implement the shutdown behavior in 2.6.

  -Mark

 Based on what you guys have said i've had a look at the code for
 serve_forever() in both 2.5 and 2.6, and tried to create my own derived
 class in this manner:

 class MBThreadingTCPServer(SocketServer.ThreadingTCPServer):

     def __init__(self, address_tuple, handler):
         SocketServer.ThreadingTCPServer.__init__(self, address_tuple, handler)
         self.__serving = True

     def serve_forever(self):
         while self.__serving:
             SocketServer.ThreadingTCPServer.handle_request(self)

     def shutdown(self):
         self.__serving = False

 Don't worry about the MB thing, it's just related to the name of our project.

 I don't think i've done this right, but i've tried to implement the
 serve_forever() functionality in my derived class, and also add the
 shutdown() method so i can stop it.

 Does this appear to be the right way to do things?

 Cheers,

 Dave

More or less what I would do, though you should be able to call
self.handle_request. It's worth noting that handle_request generally
calls a blocking socket method, which means your self.__serving check
only happens the next time it handles a request.

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


Re: calling class methods from class methods, help?

2009-03-11 Thread Oltmans
On Mar 11, 11:00 pm, Piet van Oostrum p...@cs.uu.nl wrote:
                     self.html=self.SendRequest()
 --

Thank you, everyone, for the help. Appreciate that.

 Piet van Oostrum p...@cs.uu.nl
 URL:http://pietvanoostrum.com[PGP 8DAE142BE17999C4]
 Private email: p...@vanoostrum.org- Hide quoted text -

 - Show quoted text -

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


Re: Stopping SocketServer on Python 2.5

2009-03-11 Thread David George

On 2009-03-11 19:02:26 +, Falcolas garri...@gmail.com said:


On Mar 11, 12:28 pm, David George wrote:

On 2009-03-11 04:36:29 +, Mark Tolonen metolone+gm...@gmail.com s

aid:







David George d...@eatmyhat.co.uk wrote in message
news:00150e67$0$27956$c3e8...@news.astraweb.com...

Hi guys,



I've been developing some code for a university project using Python.
We've been working on an existing codebase, cleaning it up and removin

g

dead wood.



We decided to make some changes to internal message handling by using

a

SocketServer, which worked great when we were using 2.6, as we could
simply call its shutdown() method when we wanted to stop it from
'serving forever'.



Unfortunately, we've now needed to downgrade to python 2.5 to
accomodate the libtorrent python bindings we need to use as part of th

e

project.



So, my question is, is there any way to stop a SocketServer that's bee

n

told to server forever in python 2.5?



Sure, derive a class from one of the classes in SocketServer, and
override the methods that implement the shutdown behavior in 2.6.



-Mark


Based on what you guys have said i've had a look at the code for
serve_forever() in both 2.5 and 2.6, and tried to create my own derived
class in this manner:

class MBThreadingTCPServer(SocketServer.ThreadingTCPServer):

    def __init__(self, address_tuple, handler):
        SocketServer.ThreadingTCPServer.__init__(self, address_tu

ple, handler)

        self.__serving = True

    def serve_forever(self):
        while self.__serving:
            SocketServer.ThreadingTCPServer.handle_request(se

lf)


    def shutdown(self):
        self.__serving = False

Don't worry about the MB thing, it's just related to the name of our proj

ect.


I don't think i've done this right, but i've tried to implement the
serve_forever() functionality in my derived class, and also add the
shutdown() method so i can stop it.

Does this appear to be the right way to do things?

Cheers,

Dave


More or less what I would do, though you should be able to call
self.handle_request. It's worth noting that handle_request generally
calls a blocking socket method, which means your self.__serving check
only happens the next time it handles a request.

~G


Yes, i've just noticed that this is the problem ... i've updated the 
code to work like this:


class MBTCPServer(SocketServer.TCPServer):

   def serve_until_stopped(self):
   self.serving = True
   self.has_shutdown = False
   while self.serving:
   self.handle_request()
   self.has_shutdown = True

   def shutdown(self):
   self.serving = False

Simply calling the base class constructor when i build it (i believe 
this is inferred).


Again, problem here is the issue of being unable to kill the server 
while it's waiting on a request. In theory, i could force it to 
continue by sending some sort of junk data with the method i use to 
stop the server, but that seems a bit hacky, don't you think?


Cheers,

Dave

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


Re: functions - where to store them

2009-03-11 Thread Terry Reedy

plsulliv...@gmail.com wrote:

I have several functions which I would like to store in a different
directory so several programs can use them. I can't seem to find much
information about how to call a function if the function code is not
actually in the script itself.
The problem: do I have to cut and paste functions into a script or can
I store them in a directory and call them from a script in another
directory. If the latter is possible, how is this done? Thanks.


After you follow the other suggestions of read about 'module' and 
'package' If you want a module or package available to *all* 
programs (that run with a particular version/installation of Python), 
you can put your module or packages in the 'site-packages' directory. 
On Windows, this is a subdirectory of pythonxy/lib/


 import sys; sys.path
['C:\\Programs\\Python30\\Lib\\idlelib', 
'C:\\WINDOWS\\system32\\python30.zip', 'C:\\Programs\\Python30\\DLLs', 
'C:\\Programs\\Python30\\lib', 'C:\\Programs\\Python30\\lib\\plat-win', 
'C:\\Programs\\Python30', 'C:\\Programs\\Python30\\lib\\site-packages']


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


Re: Visual Studio 2005 build of Python 2.4, 2.5 or 2.6

2009-03-11 Thread Terry Reedy

paul.baum...@googlemail.com wrote:

Hello,

I am a bit lost with all the possible builds of python on Windoze. I
am looking for a Visual Studio 2005 build of Python 2.4, 2.5 or 2.6
incl. debug build of the python24.lib e.g. python24_d.lib ?


Are you looking for pre-built binaries or the build files to  make your 
own?  PSF distributes 2.? to 2.5 binaries built with VS2003 and 2.6+ 
binaries built with VS2008 (I believe) and the corresponding build 
files.  People have built with VS2005, but you will have to search 
harder (try Google).


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


Re: calling class methods from class methods, help?

2009-03-11 Thread Terry Reedy

Oltmans wrote:

I've a multithreaded program in which I've to call class methods from
class methods. Here is how my code look like (excluding imports),. Any
help is highly appreciated.

#!/usr/bin/env python
class Requests(Thread):

def __init__(self, times):
Thread.__init__(self)
self.times=times
self.name=''
def run(self):

sites=['example.com','example1.com']
for i in range(0,self.times):
for site in sites:
self.name = site
self.html=SendRequest() # This line throws an error


You should (almost) always display the error traceback.  I suspect 
NameError: global 'SendRequest' not found.  You need 
Requests.SendRequest.  but...



def SendRequest(self): #A class method


If it were, then call the parameter 'cls', not 'self'.  But it is not a 
classmethod without @classmethod decorator.  but...



# it sends a request to website using mechanize library


Does this need to send the class rather than instance object to the 
website?  If not, better to leave it an instance method and use 
self.SendRequest above.  If the request uses instance variables, then it 
*must* be an instance method!


def startThis(times,reqs):

threads=[]
for i in range (0,reqs):
owner=Requests(times)
owner.start()
threads.append(owner)

for thread in threads:
thread.join()

if __name__==__main__:
#I want to create 2 threads, each of them will execute twice. At
least that is the intention.
startThis(2,2)



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



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


Re: Visual Studio 2005 build of Python 2.4, 2.5 or 2.6

2009-03-11 Thread Christian Heimes
Terry Reedy wrote:
 Are you looking for pre-built binaries or the build files to  make your
 own?  PSF distributes 2.? to 2.5 binaries built with VS2003 and 2.6+
 binaries built with VS2008 (I believe) and the corresponding build
 files.  People have built with VS2005, but you will have to search
 harder (try Google).

You are correct, Terry.
The source tar.gz contain a build directory for VS 2005 in PCBuild8 (Py
2.5) or PC/VS8.0/ (2.6, 3.0). You can easily build your own Python
interpreter.

Christian

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


Re: Why is lambda allowed as a key in a dict?

2009-03-11 Thread Craig Allen
On Mar 10, 1:39 pm, Paul Rubin http://phr...@nospam.invalid wrote:
 Craig Allen callen...@gmail.com writes:
  it raises an interesting question about why doesn't it.  I can think
  of practical answers to that, obviously, but in principle, if a
  function compiles to exactly the same byte code, you obviously do not
  need two copies of it, and like strings shouldn't an identical
  function have the same id?

 Identical strings don't necessarily have the same id:

      a = a*1000
      b = a*1000
      id(a),id(b)
     (137143648, 137144680)
      a==b
     True

interesting, I thought they were supposed to.
--
http://mail.python.org/mailman/listinfo/python-list


Re: strange problem with Py2exe

2009-03-11 Thread CM
On Mar 11, 10:37 am, sf409...@gmail.com wrote:
 Hello all,
 in the past I've used Py2exe without any problem, but now I have this
 strange difficulty.
 In my computer I have  python 2.6,  py2exe for python 2.6 and the
 distutils, but when I do:

 from distutils.core import setup
 import py2exe
 setup(console=['hello.py'])

 ( like written in:  http://www.py2exe.org/index.cgi/Tutorial)

 at the end (at the command 'setup') all exits from python and I am
 again in DOS.
 (The same occurs when I use a file: e.g.  python 1.py)

 Where do I go wrong?

 Thanks

I think the problem is w/ Python 2.6--see this comment:
http://www.nabble.com/Re%3A-Python-2.6-and-py2exe---the-exe-crashes-on-vista-p21658057.html

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


Re: Why is lambda allowed as a key in a dict?

2009-03-11 Thread r
On Mar 11, 3:40 pm, Craig Allen callen...@gmail.com wrote:
 On Mar 10, 1:39 pm, Paul Rubin http://phr...@nospam.invalid wrote:

  Craig Allen callen...@gmail.com writes:
   it raises an interesting question about why doesn't it.  I can think
   of practical answers to that, obviously, but in principle, if a
   function compiles to exactly the same byte code, you obviously do not
   need two copies of it, and like strings shouldn't an identical
   function have the same id?

  Identical strings don't necessarily have the same id:

       a = a*1000
       b = a*1000
       id(a),id(b)
      (137143648, 137144680)
       a==b
      True

 interesting, I thought they were supposed to.

Are you joking? two objects == two ids. if not i would dump Python
forever!

Do you think Vector(0,0,0) and Vector(0,0,0) would have the same id?
--
http://mail.python.org/mailman/listinfo/python-list


Re: strange problem with Py2exe

2009-03-11 Thread Mike Driscoll
On Mar 11, 9:37 am, sf409...@gmail.com wrote:
 Hello all,
 in the past I've used Py2exe without any problem, but now I have this
 strange difficulty.
 In my computer I have  python 2.6,  py2exe for python 2.6 and the
 distutils, but when I do:

 from distutils.core import setup
 import py2exe
 setup(console=['hello.py'])

 ( like written in:  http://www.py2exe.org/index.cgi/Tutorial)

 at the end (at the command 'setup') all exits from python and I am
 again in DOS.
 (The same occurs when I use a file: e.g.  python 1.py)

 Where do I go wrong?

 Thanks

Re-post to the py2exe mailing list, but CM is probably correct. The
last I heard, compiling with 2.6 had some added complications. You
could also check the archives of this list AND the py2exe list. I'm
pretty sure there have been posts on this multiple times within a few
weeks of 2.6's release.

Here's a link to py2exe's list and archives:
https://lists.sourceforge.net/lists/listinfo/py2exe-users

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


Re: Why is lambda allowed as a key in a dict?

2009-03-11 Thread Terry Reedy

r wrote:

On Mar 11, 3:40 pm, Craig Allen callen...@gmail.com wrote:

On Mar 10, 1:39 pm, Paul Rubin http://phr...@nospam.invalid wrote:



Identical strings don't necessarily have the same id:


A more verbose way to put this is Requesting a string with a value that 
 is the same an an existing string does not necessarily result in reuse 
of the existing string but mey result in creation of a new, duplicate 
string.



 a = a*1000
 b = a*1000
 id(a),id(b)
(137143648, 137144680)
 a==b
True



interesting, I thought they were supposed to.


Reuse of immutable objects is entirely up to the implementation. 
CPython reuses small ints and identifier-like strings that it 'expects' 
   would otherwise be duplicated.  There is no reason to expect that 
the programmer will ask for 'a'*1000 again instead of explicitly reusing 
the existing object.  On the other hand, identifiers are almost always 
reused, often multiple times..  (Non-reuse may even by a bug!.)



Are you joking? two objects == two ids. if not i would dump Python
forever!


Me too, but see rewording.


Do you think Vector(0,0,0) and Vector(0,0,0) would have the same id?


If the instances of Vector are immutable, possibly yes.
If Vector(0,0,0) were typically called hundreds of times within a 
program, it might be worthwhile for the Vector class to pre-allocate one 
instance with that value and return it for each of the hundreds of 
calls.  That would be an implementation decision, which could be changed 
with experience.


Similarly, if one is populating a LARGE structure with duplicate values, 
it may be worthwhile to cache values that are not cached by the interpreter.


Terry Jan Reedy

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


Re: Why is lambda allowed as a key in a dict?

2009-03-11 Thread r
On Mar 11, 4:32 pm, Terry Reedy tjre...@udel.edu wrote:
 Similarly, if one is populating a LARGE structure with duplicate values,
 it may be worthwhile to cache values that are not cached by the interpreter.

Thanks Terry,
Actually i had no idea how Python handled strings(immutables)
internally but after considering this for 1 second it makes complete
sense. I have never compared two like strings to see what the
outcome will be because i never needed to. Just like i never used a
lambda as a dict key and probably never will. But these things are
good to know.

When i learn something new (like Python) i tend to jump right in and
learn by trial and error -- sometimes it feels more like trial by fire
-- that is how i have learned the Python language. I still have not
read Guido's tutorial from front to back (not proud of that BTW),
actually i haven't read but maybe 10% of it!

I think now would be a good time to read the entire tut from my
field experienced level and fill in all the (maybe mostly
insignificant (but very important)) details of how python handles data
internally. This should give me a much better insight of the language
and will most defiantly improve my code writing skills.

Sorry Graig for my misinterpretation of your post. And thanks Terry
for the great explanation.


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


[ANN] Pyjamas 0.5 Web Widget Set and python-to-javascript Compiler released

2009-03-11 Thread Luke Kenneth Casson Leighton
This is the release of Pyjamas 0.5, a python-to-javascript
compiler with an AJAX Web Widget set, for creating python
desktop-like applications that run in all major web browsers.

http://pyjs.org

Pyjamas is NOT another AJAX framework where the
widgets are predefined, fixed and inflexible.  Thanks to
the compiler, Pyjamas is a dynamic framework's framework
where developers can define their own web framework, in
Python classes and modules instead of being forced to
write code in pure Javascript.

The Pyjamas Web Widget set makes it possible for users
to develop Rich Media Applications as if they were writing
desktop applications, without having to know any Javascript,
or even very much HTML.  Developing applications using
Pyjamas is much more similar to and has far more in
common with developing PyQT4 or PyGtk2 applications than
it has with traditional AJAX web development.  Yet,
thanks to the applications actually running in a Web
Browser, developers get the best of both worlds.

For those people who prefer to stick to true Desktop
development, or who prefer to debug applications in
Python rather than rely on the debugging features of
Web Browser engines, there is the sister project,
Pyjamas-Desktop - http://pyjd.org

Pyjamas-Desktop allows the same application source code
to be run, unmodified, in both the web browser and as
a desktop application.

The 0.5 release is a significant functionality update.

Additions have been made to the core python-to-javascript
compiler such as support for exceptions (try / except), lambda,
and a debug option to track and print run-time stack traces,
in cases where the deployment of a javascript script debugger
is difficult or impossible (IE6 running under Wine).

Also, the code-generator has undergone a reorganisation,
and now has much better support for local and global
variable, function, class and module scopes.

Support for Dynamic loading of modules has been added,
where each python module now has its own javascript
(compiled) cache file.  This makes it possible to
share the modules across the 5 supported platforms,
bringing a dramatic reduction in the amount of compiled
javascript that is deployed.  Also, support for dynamic
module loading makes it much clearer how developers may
interact with pyjamas-compiled modules from existing
applications which already have an AJAX framework in place.

Users of previous versions of Pyjamas should note that the
UI widget classes have undergone a restructuring, reducing
the 4,000 line ui.py into 70 separate small modules.  The
reorganisation allows applications to undergo a significant
reduction in the amount of compiled javascript, by only
importing UI Modules that are needed.  Reorganisation
scripts can be found in contrib/pyjamas_0.4_0.5_upgrade/
that will help in the conversion of existing applications.

Also, to make developers' lives easier in both the testing
and deployment of pyjamas applications, buildout has been
added, along with a standard setup.py.

Finally, an experiment is included, which is the beginnings
of a way to speed up the execution of standard python,
in a similar way to Python-Psyco.

The combination of the pyjs python-to-javascript compiler
and PyV8 - http://code.google.com/p/pyv8 - becomes a JIT
compiler that supports both ARM and i386 assembler.

The use of the Google V8 JIT compiler provides a means
to dynamically load standard c-based python modules,
and the use of pyjs means that the intermediate javascript
is actually still human-readable.  These are two distinct
advantage over pypy, and the third advantage is that the
direct translation, instead of going through an intermediary
(RPython) means that the full dynamic semantics of the
python language are reflected into javascript, and still available.

Downloads are available at:
   http://code.google.com/p/pyjamas/downloads/list
   https://sourceforge.net/project/platformdownload.php?group_id=239074
   http://pypi.python.org/pypi/Pyjamas/0.5

Pyjamas Book is at:
   http://pyjs.org/book/output/Bookreader.html#Getting%20Started

Links to other documentation is on the main site:
   http://pyjs.org

Development and discussion is at:
   http://groups.google.com/group/pyjamas-dev

Subversion Source repository is at:
   https://sourceforge.net/scm/?type=svngroup_id=239074

IRC Channel is:
   #pyjamas at irc.freenode.net
IRC Logs (thanks to Tim Riker) at:
   http://ibot.rikers.org/%23pyjamas
--
http://mail.python.org/mailman/listinfo/python-list


Re: Stopping SocketServer on Python 2.5

2009-03-11 Thread Falcolas
On Mar 11, 1:11 pm, David George d...@eatmyhat.co.uk wrote:
 Again, problem here is the issue of being unable to kill the server
 while it's waiting on a request. In theory, i could force it to
 continue by sending some sort of junk data with the method i use to
 stop the server, but that seems a bit hacky, don't you think?

Dave,

I agree, it does.

I'm in a bit over my head at this point, but does setting
self.socket.settimeout(0.5) cause the call to get_request (and thus
self.socket.accept()) to timeout? If so, that may be your ticket,
since socket.error exceptions are already caught by the TCPServer
class.

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


An error in threading.py?

2009-03-11 Thread Oltmans
Hi, all. I'm trying to use Mechanize in a multithreaded program--
purpose of which is to fill out a form on a website using concurrent
threads. Guys, trust me I've spent a lot of time to figure out the
problem but I'm completed puzzled. Firstly, I've listed the errors and
then the program listing (with imports omitted)

Error:

Traceback (most recent call last):
  File C:\Python25\lib\threading.py, line 460, in __bootstrap
self.run()
  File tmechanize.py, line 21, in run
with lock:
NameError: global name 'lock' is not defined


Program:
-
#!/usr/bin/env python
requestNumber=0
class Requests(Thread):

def __init__(self, times):
Thread.__init__(self)
self.times=times

self.html=' '
self.requestTime={}
self.starttime=0
self.endtime=0
self.br= Browser()
def run(self):


for i in range(0,self.times):
self.starttime=time.clock()
self.SendRequest()
self.endtime=time.clock()
with lock:
global requestNumber
requestNumber += 1
print 'locking the time'
self.requestTime[requestNumber]=self.endtime -
self.starttime


def SendRequest(self): #A class method
# it sends a request to website using mechanize library
self.br.add_password(https://example.com/admin;, admin,
admin)
res=self.br.open(https://example.com/admin;)
print 'Successfully loggedin '
self.html=res.read()

print 'Filling in the form'
self.br.select_form(name=formOne)
self.br[textbox]=www.google.com
self.br[textBox1]='www.example.com'
self.br[users[0].firstName]=firstName
self.br[users[0].lastName]=LastName
self.br[users[0].emailAddress]=fn...@example.com
print 'Submitting the form'
resp=self.br.submit()
self.html=resp.read()

def startThis(times,reqs):
#print 'Threads ='+str(times)
#print 'Reques/Thread ='+ str(maxReqs)

threads=[]
for i in range (0,reqs):
owner=Requests(times)
owner.start()
threads.append(owner)

for thread in threads:
thread.join()

if __name__==__main__:
#I want to create 2 threads, each of them will execute twice. At
least that is the intention.
startThis(2,2)


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


Re: An error in threading.py?

2009-03-11 Thread Robert Kern

On 2009-03-11 17:15, Oltmans wrote:

Hi, all. I'm trying to use Mechanize in a multithreaded program--
purpose of which is to fill out a form on a website using concurrent
threads. Guys, trust me I've spent a lot of time to figure out the
problem but I'm completed puzzled. Firstly, I've listed the errors and
then the program listing (with imports omitted)


Why omit the imports?


Error:

Traceback (most recent call last):
   File C:\Python25\lib\threading.py, line 460, in __bootstrap
 self.run()
   File tmechanize.py, line 21, in run
 with lock:
NameError: global name 'lock' is not defined


The problem is in tmechanize.py, not threading.py. You forgot to actually make 
the lock object.


--
Robert Kern

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

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


Re: An error in threading.py?

2009-03-11 Thread Falcolas
On Mar 11, 4:15 pm, Oltmans rolf.oltm...@gmail.com wrote:
 Hi, all. I'm trying to use Mechanize in a multithreaded program--
 purpose of which is to fill out a form on a website using concurrent
 threads. Guys, trust me I've spent a lot of time to figure out the
 problem but I'm completed puzzled. Firstly, I've listed the errors and
 then the program listing (with imports omitted)

 Error:

 Traceback (most recent call last):
   File C:\Python25\lib\threading.py, line 460, in __bootstrap
     self.run()
   File tmechanize.py, line 21, in run
     with lock:
 NameError: global name 'lock' is not defined

Time for the obvious question - where do you define lock? If you're
trying to put a mutex around your increment, you need a lock pre-
defined to use it. So, you'll need to add something like lock = Lock
() near the top, with a global lock before you try using it in your
with statement.

If you try using Lock() directly in the thread, you'll create a new
lock per thread, thus defeating the purpose of trying to lock in the
first place.

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


Can python (CPython) and IPython coexist normally on the same computer ?

2009-03-11 Thread scoop
I know I could just try to install it and see, but I've got my
configuration just right, so I don't want to mess it up (maybe) with
IPython.

Also, can someone please point me to some page where I can find
differences between C and I Python. I'm learning Python using
Learning python (figures :), so I was wondering - what are the
practical differences between the two ? If I start with IPython, will
I be able to switch to CPython later, or will I have trouble with that
? Does IPython supports standard libraries like numpy and matplotlib ?

Greetings to all of you who actually read all of this, and got this
far :)
Hope all is well,
   Scoop
--
http://mail.python.org/mailman/listinfo/python-list


Re: Behaviour of os.rename()

2009-03-11 Thread Rhodri James
On Wed, 11 Mar 2009 14:35:01 -, venutaurus...@gmail.com  
venutaurus...@gmail.com wrote:



On Mar 11, 7:20 pm, Tim Golden m...@timgolden.me.uk wrote:

venutaurus...@gmail.com wrote:
 Hello all,
             I got a suspicion on the behaviour of os.rename
 (src,dst).If the src is the path of a file and dst is a new filename
 this os.rename() function is infact creating a new file with the dst
 name in the current working directory and leaving the src as it is. Is
 this the expected behavior?


Yes, though part of this is Windows being bloody-minded.  It is always the  
case that if you don't give a rooted pathname (one starting with r\) to  
pretty much any built-in function expecting a filename (in pretty much any  
language, come to that), the pathname will be assumed to be relative to  
the current working directory.  Windows complicates this by having a  
current drive too, and per-drive working directories to go with them, so  
file.txt, D:file.txt, r\path\to\file.txt and rD:\path\to\file.txt  
could well all be different files in different places.



 If i want the actual source file in its
 orignal location to be renamed without doing os.chdir() to that
 directory, is that possible?


Yes.  Give the full pathname, with drive letters and everything.


os.rename on windows calls the Windows MoveFile API:

 http://msdn.microsoft.com/en-us/library/aa365239(VS.85).aspx

Have a look at the details on that page to see what
the limitations / actions are. But remember -- as I've
indicated elsewhere -- to use the ur\\?\c:\... form
of the file names.

And let us know if that works :)


That actually was an illustration. As you've told in another chain, it
isn't working even after appending \\?\


Tim's point was that you should read the MS documentation.  To be fair it  
doesn't mention doing a copy and (failing to) delete instead of moving the  
file when doing cross-volume renames, but that's what the OS will have to  
do.


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


Re: Can python (CPython) and IPython coexist normally on the same computer ?

2009-03-11 Thread Chris Rebert
On Wed, Mar 11, 2009 at 4:17 PM, scoop sc...@invalid.gmail.com wrote:
 I know I could just try to install it and see, but I've got my
 configuration just right, so I don't want to mess it up (maybe) with
 IPython.

 Also, can someone please point me to some page where I can find
 differences between C and I Python. I'm learning Python using
 Learning python (figures :), so I was wondering - what are the
 practical differences between the two ? If I start with IPython, will
 I be able to switch to CPython later, or will I have trouble with that
 ? Does IPython supports standard libraries like numpy and matplotlib ?

ipython is just an improved Python shell (interactive
interpreter/REPL), not an alternate Python implementation. As far as I
know, it is based on CPython and normally requires CPython to operate.

Cheers,
Chris

-- 
I have a blog:
http://blog.rebertia.com
--
http://mail.python.org/mailman/listinfo/python-list


Re: Can python (CPython) and IPython coexist normally on the same computer ?

2009-03-11 Thread John Machin
On Mar 12, 10:17 am, scoop sc...@invalid.gmail.com wrote:
 I know I could just try to install it and see, but I've got my
 configuration just right, so I don't want to mess it up (maybe) with
 IPython.

 Also, can someone please point me to some page where I can find
 differences between C and I Python. I'm learning Python using
 Learning python (figures :), so I was wondering - what are the
 practical differences between the two ? If I start with IPython, will
 I be able to switch to CPython later, or will I have trouble with that
 ? Does IPython supports standard libraries like numpy and matplotlib ?


Do you mean this IPython:
http://en.wikipedia.org/wiki/IPython
or do you mean Iron Python:
http://en.wikipedia.org/wiki/IronPython

IPython is a front-end for the CPython interpretor, as is IDLE, etc.
differences, switch to and supports standard libraries are
rather meaningless questions.

Iron Python is an alternative implementation of a Python interpreter,
whose target is the .NET/Mono platform. It supports standard libraries
written in Python. I believe there is a project called Ironclad whose
aim is to be able to use libraries written in C/C++ (like numpy) but
this is not available yet.

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


Re: factory functions methods

2009-03-11 Thread Aaron Brady
On Mar 11, 12:52 pm, Piet van Oostrum p...@cs.uu.nl wrote:
  Aaron Brady castiro...@gmail.com (AB) wrote:
 AB Hello,
 AB I am creating a container.  I have some types which are built to be
 AB members of the container.  The members need to know which container
 AB they are in, as they call methods on it, such as finding other
 AB members.  I want help with the syntax to create the members.
 AB Currently, the container has to be a parameter to the instantiation
 AB methods.  I want the option to create members with attribute syntax
 AB instead.
 AB Currently, I have:
 AB cA= Container( )
 AB obA= SomeType( cA )
 AB obB= OtherType( cA, otherarg )
 AB I want:
 AB cA= Container( )
 AB obA= cA.SomeType( )
 AB obB= cA.OtherType( otherarg )
 AB What are my options?
 AB P.S.  The container and members are C extension types, not pure Python.

 You could do something like this (translated to C)

 class Container(object):
   def __init__(self):
     self.items = []
   def add(self, item):
     self.items.append(item)
   def SomeType(self):
       newobj = SomeType()
       self.add(newobj)
   def OtherType(self, arg):
       newobj = OtherType(arg)
       self.add(newobj)

 class SomeType(object):
   def __init__(self):
       pass

 class OtherType(SomeType):
   def __init__(self, arg):
     SomeType.__init__(self)
     self.x = arg

 cA = Container()
 obA = cA.SomeType()
 obB = cA.OtherType(5)
 print cA.items

 --
 Piet van Oostrum p...@cs.uu.nl
 URL:http://pietvanoostrum.com[PGP 8DAE142BE17999C4]
 Private email: p...@vanoostrum.org

I like it.  It's a combination of andrew's suggestion, and what I've
been considering.  What I did was (approximately):

class Container:
def __init__( self ):
self.SomeType= type( 'BoundSomeType', (SomeType,),
{ '__new__': custom_new } )
self.OtherType= type( 'BoundOtherType', (OtherType,),
{ '__new__': custom_new } )

cA = Container()
obA = cA.SomeType()
obB = cA.OtherType(5)

It has the advantage that 'cA.SomeType' is a subclass of SomeType;
specifically, that it responds in kind to SomeType.  It's a bit
heavyweight on the consumption of resources.  'custom_new' actually
returns an instance of the base.

I am looking for ways to allow user-defined subclasses.

class CustomType( cA.MemberBase ):
...

obC= CustomType( ) #unusable in other instances

-or-

class CustomType( MemberBase ):
...

obC= cA.CustomType( ) #explicit member or dynamic (Gabriel)?
#of base (Piet) or instance (andrew)?

-or-

class CustomType( MemberBase ):
...

obC= CustomType( ) #disallow as attribute creation

Or, some combination of -2- and -1- or -3-.
--
http://mail.python.org/mailman/listinfo/python-list


Question on periods in strings

2009-03-11 Thread Philip Bloom
Hello, this is my first time posting to the list, but my curiosity here
is great.

I was randomly toying with file writes and I ran into something that
seemed quite odd to me.  When a period is in a string, file write takes
about double the time.  I saw similar things with newlines, but I
figured that was because it was doing a lookup on the escape-d n.  All
other symbols seem to not have this problem, so I'm curious what's
special about periods that they take so much longer to write to file.

#Done in python 2.6.1
#runs in 5.8 seconds.

from datetime import datetime

testvar2='9a00'

startTime = datetime.now()

for var in range(1000):

filehandle.write(testvar2)

filehandle.close()

print (datetime.now() - startTime)

 

 

#runs in 10.9 seconds.

from datetime import datetime

testvar2='9.00'

startTime = datetime.now()

for var in range(1000):

filehandle.write(testvar2)

filehandle.close()

print (datetime.now() - startTime)

Thank you to any who answer for assuaging my curiosity.


__
This email has been scanned by the MessageLabs Email Security System.
For more information please visit http://www.messagelabs.com/email 
__--
http://mail.python.org/mailman/listinfo/python-list


Re: Strange array.array performance

2009-03-11 Thread Aahz
In article mailman.324.1235098726.11746.python-l...@python.org,
Maxim Khitrov  mkhit...@gmail.com wrote:

Interesting, though I'm not able to replicate that last outcome. The
string method is still the fastest on my machine. Furthermore, it
looks like the order in which you do the multiplication also matters -
(8 * size * '\0') is faster than ('\0' * 8 * size). 

That's not surprising -- the latter does two string multiplication
operations, which I would expect to be slower than int multiplication.
-- 
Aahz (a...@pythoncraft.com)   * http://www.pythoncraft.com/

All problems in computer science can be solved by another level of 
indirection.  --Butler Lampson
--
http://mail.python.org/mailman/listinfo/python-list


Re: Can python (CPython) and IPython coexist normally on the same computer ?

2009-03-11 Thread scoop
On Wed, 11 Mar 2009 17:20:09 -0700 (PDT), John Machin
sjmac...@lexicon.net wrote:


Do you mean this IPython:
http://en.wikipedia.org/wiki/IPython
or do you mean Iron Python:
http://en.wikipedia.org/wiki/IronPython

IPython is a front-end for the CPython interpretor, as is IDLE, etc.
differences, switch to and supports standard libraries are
rather meaningless questions.

Iron Python is an alternative implementation of a Python interpreter,
whose target is the .NET/Mono platform. It supports standard libraries
written in Python. I believe there is a project called Ironclad whose
aim is to be able to use libraries written in C/C++ (like numpy) but
this is not available yet.


Oh, sorry. I didn't know Ipython existed, so I (rather foolishly)
abbreviated Iron Python into IPython.
So generally, yes, my questions were aimed at Iron python. So what
you're saying is there are still some complications about using numpy
and matplotlib in Iron ?

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


Minimilistic Python on Linux?

2009-03-11 Thread Royce Wilson
I'm working on a minimilistic linux project and would like to include
Python. However, since Python is around 17MB (compressed) and previous
releases of this linux distro are under 100MB (compressed)  standard Python
releases are much to large. I just need the runtime libs of Python, the
absoulute bare necesties. I do not need any kind of GUI. Also, with the
standard library, I would like to remove all the files execpt the
ones Python needs to run and only add new ones as required.

What can I strip off Python? Thanks.
--
http://mail.python.org/mailman/listinfo/python-list


Re: Question on periods in strings

2009-03-11 Thread Gabriel Genellina
En Wed, 11 Mar 2009 22:35:22 -0200, Philip Bloom pbl...@crystald.com  
escribió:



Hello, this is my first time posting to the list, but my curiosity here
is great.


Welcome!


I was randomly toying with file writes and I ran into something that
seemed quite odd to me.  When a period is in a string, file write takes
about double the time.  I saw similar things with newlines, but I
figured that was because it was doing a lookup on the escape-d n.  All
other symbols seem to not have this problem, so I'm curious what's
special about periods that they take so much longer to write to file.


I doubt the period is actually the culprit. There are lots of other  
variables - like disk and memory fragmentation, cpu load, ...
You omitted part of your code: do you use the same filename on both tests?  
(Note that starting with an empty file is not the same as using a  
preallocated file).
Also, do you always run both scripts in the same order? (maybe the  
second always runs faster, no matter which one is it).
Also note that you're measuring the time to allocate a list containing ten  
million integer objects (the range() call). xrange is a less perturbing  
option.


--
Gabriel Genellina

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


RE: Question on periods in strings

2009-03-11 Thread Philip Bloom
Thanks for the welcome :)

You're right.  Here's with the missed line (I was cutting out commented parts). 
 Hopefully these are all cut/paste-able.

#test A
#runs in 5.8 seconds.
from datetime import datetime
testvar2='9a00'
startTime = datetime.now()
filehandle=open('testwriting.txt','w')
for var in range(1000):
filehandle.write(testvar2)
filehandle.close()
print (datetime.now() - startTime)


#test B
#runs in 10.9 seconds.
from datetime import datetime
testvar2='9.00'
startTime = datetime.now()
filehandle=open('testwriting.txt','w')
for var in range(1000):
filehandle.write(testvar2)
filehandle.close()
print (datetime.now() - startTime)

I do use the same filename, but I've run the tests in different orders and it's 
made no difference.  Repeatedly running the same test results in the same 
numbers with only minor fluctuations (as would be expected from cache issues).  
Ten runs in a row of Test B all result in about 11 seconds each.  Ten runs in a 
row of Test A all result in about 6 seconds each.

The range is not actually a meaningful adjustment as the time results are 
identical switching out xrange (as I believe they should be since in 2.6 range 
maps to xrange for the most part according to some of the docs).  

#Test C
#runs in 8.9 seconds.
from datetime import datetime
testvar2='9.00'
startTime = datetime.now()
join=[]
filehandle=open('testwriting.txt','w')
for var in range(1000):
join.append(testvar2)
.join(join)
print (datetime.now() - startTime) #3.01 seconds   
filehandle.write(.join(join))
filehandle.close()
print (datetime.now() - startTime) #8.9 seconds.

#Test D
#runs in 3.8 seconds.
from datetime import datetime
testvar2='9a00'
startTime = datetime.now()
join=[]
filehandle=open('testwriting.txt','w')
for var in range(1000):
join.append(testvar2)
.join(join)
print (datetime.now() - startTime) #3.09 seconds   
filehandle.write(.join(join))
filehandle.close()
print (datetime.now() - startTime) #3.87 seconds.

This is a variation that shows it more noticeably.  I do an extra join to 
demonstrate that's not taking the time.  Effectively nothing is really 
different it seems like other than the period.  It's all intentionally small 
python code since it originated from just seeing what some variations on file 
writes might differ in scaling.
 
-Original Message-
From: python-list-bounces+pbloom=crystald@python.org 
[mailto:python-list-bounces+pbloom=crystald@python.org] On Behalf Of 
Gabriel Genellina
Sent: Wednesday, March 11, 2009 6:17 PM
To: python-list@python.org
Subject: Re: Question on periods in strings

En Wed, 11 Mar 2009 22:35:22 -0200, Philip Bloom pbl...@crystald.com  
escribió:

 Hello, this is my first time posting to the list, but my curiosity here
 is great.

Welcome!

 I was randomly toying with file writes and I ran into something that
 seemed quite odd to me.  When a period is in a string, file write takes
 about double the time.  I saw similar things with newlines, but I
 figured that was because it was doing a lookup on the escape-d n.  All
 other symbols seem to not have this problem, so I'm curious what's
 special about periods that they take so much longer to write to file.

I doubt the period is actually the culprit. There are lots of other  
variables - like disk and memory fragmentation, cpu load, ...
You omitted part of your code: do you use the same filename on both tests?  
(Note that starting with an empty file is not the same as using a  
preallocated file).
Also, do you always run both scripts in the same order? (maybe the  
second always runs faster, no matter which one is it).
Also note that you're measuring the time to allocate a list containing ten  
million integer objects (the range() call). xrange is a less perturbing  
option.

-- 
Gabriel Genellina

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

__
This email has been scanned by the MessageLabs Email Security System.
For more information please visit http://www.messagelabs.com/email 
__

__
This email has been scanned by the MessageLabs Email Security System.
For more information please visit http://www.messagelabs.com/email 
__
--
http://mail.python.org/mailman/listinfo/python-list


Re: Minimilistic Python on Linux?

2009-03-11 Thread Christian Heimes
Royce Wilson schrieb:
 I'm working on a minimilistic linux project and would like to include
 Python. However, since Python is around 17MB (compressed) and previous
 releases of this linux distro are under 100MB (compressed)  standard Python
 releases are much to large. I just need the runtime libs of Python, the
 absoulute bare necesties. I do not need any kind of GUI. Also, with the
 standard library, I would like to remove all the files execpt the
 ones Python needs to run and only add new ones as required.
 
 What can I strip off Python? Thanks.

I start by stripping off all documentation in Docs/, the Lib/test
directory with unit tests, the Tools/ directory with optional stuff and
all Windows related code in PC/, PCBuild and PCBuild8. Optional
components like bsddb, tk and curses take up some space, too. Last but
not least you can put all .py and .pyc files in a zip file. The file
must be called /usr/local/lib/python25.zip if sys.prefix is equal to
/usr/local.

Christian

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


Re: Can python (CPython) and IPython coexist normally on the same computer ?

2009-03-11 Thread John Machin
On Mar 12, 11:57 am, scoop sc...@invalid.gmail.com wrote:
 On Wed, 11 Mar 2009 17:20:09 -0700 (PDT), John Machin



 sjmac...@lexicon.net wrote:
 Do you mean this IPython:
 http://en.wikipedia.org/wiki/IPython
 or do you mean Iron Python:
 http://en.wikipedia.org/wiki/IronPython

 IPython is a front-end for the CPython interpretor, as is IDLE, etc.
 differences, switch to and supports standard libraries are
 rather meaningless questions.

 Iron Python is an alternative implementation of a Python interpreter,
 whose target is the .NET/Mono platform. It supports standard libraries
 written in Python. I believe there is a project called Ironclad whose
 aim is to be able to use libraries written in C/C++ (like numpy) but
 this is not available yet.

 Oh, sorry. I didn't know Ipython existed, so I (rather foolishly)
 abbreviated Iron Python into IPython.
 So generally, yes, my questions were aimed at Iron python. So what
 you're saying is there are still some complications about using numpy
 and matplotlib in Iron ?

It seems that your googler is broken. While you are waiting for
someone to fix it for you, browse this:
http://ironpython.codeplex.com/Wiki/View.aspx?title=FAQreferringTitle=Home
and search the rather long page for Numpy (without the quotes).

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


Re: Minimilistic Python on Linux?

2009-03-11 Thread Gabriel Genellina
En Wed, 11 Mar 2009 23:09:51 -0200, Royce Wilson rww...@gmail.com  
escribió:



I'm working on a minimilistic linux project and would like to include
Python. However, since Python is around 17MB (compressed) and previous
releases of this linux distro are under 100MB (compressed)  standard  
Python

releases are much to large. I just need the runtime libs of Python, the
absoulute bare necesties. I do not need any kind of GUI. Also, with the
standard library, I would like to remove all the files execpt the
ones Python needs to run and only add new ones as required.


I think Python doesn't *require* any external module to be able to start.  
site.py is searched, but may be missing. Probably the interpreter  
executable alone is enough (but I've never tested it!). Anyway, most  
Python users would expect all the standard modules to be available,  
though... part of the usefulness of the language comes from its batteries  
included.


As a test, you might start with a clean install, then invoke the  
interpreter and look at sys.modules. The modules you find there (those  
that are not built-in) would be the minimum you need to run Python. On  
Windows I got this (this was not a true clean install, I just disabled  
sitecustomize.py and unset my PYTHONSTARTUP variable): UserDict _abcoll  
abc codecs copy_reg encodings functools genericpath linecache locale  
ntpath os re site sre_compile sre_constants sre_parse stat types warnings.
Most of these are dependencies from site.py; if you omit it, the list is  
even shorter (just codecs and the encodings package; note that some  
modules are built-in in Windows but external on Linux).
So it looks that -apart from those few modules- you may include as much or  
as few of the standard library as you want, but consider what your users  
would expect to be available...


--
Gabriel Genellina

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


Re: Minimilistic Python on Linux?

2009-03-11 Thread Royce Wilson
On Wed, Mar 11, 2009 at 9:33 PM, Royce Wilson rww...@gmail.com wrote:

 Thanks for the quick responses. When I view sys.modules I get this:

  sre_compile _collections locale _sre functools encodings site operator io
 __main__ copyreg _weakref abc builtins encodings.cp437 errno sre_constants
 re encodings.latin_1 collections ntpath nt genericpath stat zipimport
 _codecs encodings.utf_8 encodings.cp1252 sys codecs _bytesio _thread os.path
 _functools _locale keyword signal _stringio _weakrefset encodings.aliases
 sre_parse os _abcoll _fileio

 Each module is seperated by a space.

 Can you give me in instructions on how to remove the site.py dependencies?
 BTW I'm using Python 3.0 as the point is to modernize linux.

   On Wed, Mar 11, 2009 at 9:02 PM, Gabriel Genellina 
 gagsl-...@yahoo.com.ar wrote:

 En Wed, 11 Mar 2009 23:09:51 -0200, Royce Wilson rww...@gmail.com
 escribió:


 I'm working on a minimilistic linux project and would like to include
 Python. However, since Python is around 17MB (compressed) and previous
 releases of this linux distro are under 100MB (compressed)  standard
 Python
 releases are much to large. I just need the runtime libs of Python, the
 absoulute bare necesties. I do not need any kind of GUI. Also, with the
 standard library, I would like to remove all the files execpt the
 ones Python needs to run and only add new ones as required.


 I think Python doesn't *require* any external module to be able to start.
 site.py is searched, but may be missing. Probably the interpreter
 executable alone is enough (but I've never tested it!). Anyway, most Python
 users would expect all the standard modules to be available, though... part
 of the usefulness of the language comes from its batteries included.

 As a test, you might start with a clean install, then invoke the
 interpreter and look at sys.modules. The modules you find there (those that
 are not built-in) would be the minimum you need to run Python. On Windows I
 got this (this was not a true clean install, I just disabled
 sitecustomize.py and unset my PYTHONSTARTUP variable): UserDict _abcoll abc
 codecs copy_reg encodings functools genericpath linecache locale ntpath os
 re site sre_compile sre_constants sre_parse stat types warnings.
 Most of these are dependencies from site.py; if you omit it, the list is
 even shorter (just codecs and the encodings package; note that some
 modules are built-in in Windows but external on Linux).
 So it looks that -apart from those few modules- you may include as much or
 as few of the standard library as you want, but consider what your users
 would expect to be available...

 --
 Gabriel Genellina


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



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


  1   2   >