Actually, I have realized that using the bit vector XOR method by
http://www.me.utexas.edu/~bard/IP/Handouts/cycles.pdf gives some
possibility of doing so. However this method is still experimental and
doesn't really have a definitive end to the algorithm (the base number
of vectors can change).

Any ideas anyone?

On Wed, Jul 22, 2009 at 9:12 PM, <python-list-requ...@python.org> wrote:
> Send Python-list mailing list submissions to
>        python-l...@python.org
>
> To subscribe or unsubscribe via the World Wide Web, visit
>        http://mail.python.org/mailman/listinfo/python-list
> or, via email, send a message with subject or body 'help' to
>        python-list-requ...@python.org
>
> You can reach the person managing the list at
>        python-list-ow...@python.org
>
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of Python-list digest..."
>
> Today's Topics:
>
>   1. Finding all cycles within an undirected graph (disappearedng)
>   2. Re: Re: Changing the private variables content (Xavier Ho)
>   3. Python-URL! - weekly Python news and links (Jul 22)
>      (Gabriel Genellina)
>   4. Re: Multiple versions of python (Dave Angel)
>   5. Re: Changing the private variables content (MRAB)
>
>
> ---------- Forwarded message ----------
> From: disappearedng <disappeare...@gmail.com>
> To: python-l...@python.org
> Date: Wed, 22 Jul 2009 21:04:18 +0800
> Subject: Finding all cycles within an undirected graph
> Hey everyone,
> I am interested to find out all the cycles within an undirected graph.
> I don't have a particular implementation of nodes and vertices yet, so
> would someone kindly point out a good graph library for this ( I
> looked at pygraph and python-graph, but not really satisfied ), in
> addition to good algorithm for solving this issue.
>
>
>
> ---------- Forwarded message ----------
> From: Xavier Ho <cont...@xavierho.com>
> To: python-l...@python.org
> Date: Wed, 22 Jul 2009 23:06:22 +1000
> Subject: Re: Re: Changing the private variables content
> Got it:
>
> exec('self.' + attr + '=\'' + val + '\'')
>
> That worked. I think it'll do what you want now ;)
>
> Ching-Yun "Xavier" Ho, Technical Artist
>
> Contact Information
> Mobile: (+61) 04 3335 4748
> Skype ID: SpaXe85
> Email: cont...@xavierho.com
> Website: http://xavierho.com/
>
>
> ---------- Forwarded message ----------
> From: "Gabriel Genellina" <python-...@phaseit.net>
> To: python-l...@python.org
> Date: Wed, 22 Jul 2009 12:48:25 +0000 (UTC)
> Subject: Python-URL! - weekly Python news and links (Jul 22)
> QOTW:  "If programming is symbol manipulation, then you should remember that
> the user interface is also symbol manipulation, and it is a MUCH harder
> problem than databases, sorting, searching, and all the other problems you
> learn about in academia. The user interface has to communicate over a rich
> but noisy channel using multiple under-specified protocols to a couple of
> pounds of meat which processes information using buggy heuristics evolved
> over millions of years to find the ripe fruit, avoid being eaten, and have
> sex. If you think getting XML was hard, that's *nothing* compared to user
> interfaces.
>
> The fact that even bad UIs work at all is a credit to the heuristics, bugs
> and all, in the meat." - Steven D'Aprano
>     http://groups.google.com/group/comp.lang.python/msg/8c65eacbd76e79cf
>
>
>    Invoke the same method over every object in a collection:
>        
> http://groups.google.com/group/comp.lang.python/browse_thread/thread/8fd293a9b39c8733/
>
>    There is no 'xor' boolean operator, why? What should be its outcome?
>        
> http://groups.google.com/group/comp.lang.python/browse_thread/thread/16eec722310e75e8/
>
>    A thread-safe method to create unique identifiers (not necesarily
>    increasing integers):
>        
> http://groups.google.com/group/comp.lang.python/browse_thread/thread/dfe22a6446c057df/
>
>    Tim Chase tells us three ways to turn standard output into unbuffered mode:
>        
> http://groups.google.com/group/comp.lang.python/browse_thread/thread/a65f71444bd4bb53/
>
>    How to receive data of unknown length using sockets:
>        
> http://groups.google.com/group/comp.lang.python/browse_thread/thread/9e4a9f8b6e83320/
>
>    Override a method, but keeping the inherited docstring:
>        
> http://groups.google.com/group/comp.lang.python/browse_thread/thread/1e4075ba10dcbdd9/
>
>    Limiting the execution time of a code fragment:
>        
> http://groups.google.com/group/comp.lang.python/browse_thread/thread/734054de170e2904/
>
>    Sharing a big object between processes using the multiprocessing module:
>        
> http://groups.google.com/group/comp.lang.python/browse_thread/thread/833d4988b7af6353/
>
>    Why aren't OrderedDicts [3.1] comparable using <, >, <=, >=?
>        
> http://groups.google.com/group/comp.lang.python/browse_thread/thread/c3c6f4fe7b6d487d/
>
>    So many ways to call a function - why is that? Beginners get confused:
>        
> http://groups.google.com/group/comp.lang.python/browse_thread/thread/3fd57f5ee4850530/
>
>    The reasons to choose your favorite programming language (Python, I
>    presume!):
>        
> http://groups.google.com/group/comp.lang.python/browse_thread/thread/5d87008e328efcf9/
>
>    Tuples, lists, their differences and motivation:
>        
> http://groups.google.com/group/comp.lang.python/browse_thread/thread/cb0cf56c52321ccc/
>
>
> ========================================================================
> 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 enthusiasts":
>        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/
>
>    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.org&group=gmane.comp.python.devel&sort=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=python&ShowStatus=all
>    The old Python "To-Do List" now lives principally in a
>    SourceForge reincarnation.
>        http://sourceforge.net/tracker/?atid=355470&group_id=5470&func=browse
>        http://www.python.org/dev/peps/pep-0042/
>
>    del.icio.us presents an intriguing approach to reference commentary.
>    It already aggregates quite a bit of Python intelligence.
>        http://del.icio.us/tag/python
>
>    Enjoy the *Python Magazine*.
>        http://pymag.phparch.com/
>
>    *Py: the Journal of the Python Language*
>        http://www.pyzine.com
>
>    Dr.Dobb's Portal is another source of Python news and articles:
>        http://www.ddj.com/TechSearch/searchResults.jhtml?queryText=python
>    and Python articles regularly appear at IBM DeveloperWorks:
>        
> http://www.ibm.com/developerworks/search/searchResults.jsp?searchSite=dW&searchScope=dW&encodedQuery=python&rankprofile=8
>
> Previous - (U)se the (R)esource, (L)uke! - messages are listed here:
>  http://search.gmane.org/?query=python+URL+weekly+news+links&group=gmane.comp.python.general&sort=date
>  http://groups.google.com/groups/search?q=Python-URL!+group%3Acomp.lang.python&start=0&scoring=d&;
>  http://lwn.net/Search/DoSearch?words=python-url&ctype3=yes&cat_25=yes
>
> There is *not* an RSS for "Python-URL!"--at least not yet.  Arguments
> for and against are occasionally entertained.
>
>
> Suggestions/corrections for next week's posting are always welcome.
> E-mail to <python-...@phaseit.net> should get through.
>
> To receive a new issue of this posting in e-mail each Monday morning
> (approximately), ask <cla...@phaseit.net> to subscribe.  Mention
> "Python-URL!".  Write to the same address to unsubscribe.
>
>
> -- The Python-URL! Team--
>
> Phaseit, Inc. (http://phaseit.net) is pleased to participate in and
> sponsor the "Python-URL!" project.  Watch this space for upcoming
> news about posting archives.
>
>
>
> ---------- Forwarded message ----------
> From: Dave Angel <da...@ieee.org>
> To: CCW <c.c.w...@gmail.com>
> Date: Wed, 22 Jul 2009 09:11:26 -0400
> Subject: Re: Multiple versions of python
> CCW wrote:
>>
>> On 21 July, 15:19, Dave Angel <da...@dejaviewphoto.com> wrote:
>>
>>>
>>> ChrisW wrote:
>>>
>>>>
>>>> Hi,
>>>>      I have installed 2 versions of python on my Windows XP computer - I
>>>> originally had 3.0.1, but then found that the MySQL module only
>>>> supported 2.*, so I've now installed that.  I have found that if I
>>>> change the Windows Environment Variable path, then I can change the
>>>> version of python called when I type 'python' into a command line.
>>>> However, I'd like to be able to choose which version I use.  I know
>>>> that if I change C:\Python26\python.exe to
>>>> C:\Python26\python2.exe and C:\Python30\python.exe to C:
>>>> \Python26\python3.exe, then typing 'python2' or 'python3' will invoke
>>>> the correct interpreter.  However, is it safe just to rename the
>>>> executable files? Is there a more elegant way to achieve the same
>>>> task?
>>>>      Thanks,
>>>> Chris
>>>>
>>>
>>> The elegant way is to have a batch directory on your PATH ( I use  m:\t\bat 
>>> )  and put your *.bat files there.   I do NOT put any python
>>> installations on the PATH.
>>>
>>> For example, I have a batch file called:     m:\t\bat\python26.bat
>>>
>>> c:\progfiles\python26\python.exe %*
>>>
>>> The %* syntax means pass all arguments through to the program.
>>>
>>> Once it all works, you can add an "@" in front of the c:   in order to
>>> suppress echoing the command.  At that point, it'll look and work the
>>> same way as what you did, but without modifying anything in the install
>>> directory.    (You may want  python26.bat, pythonw26.bat, python31.bat
>>> and pythonw31.bat)
>>>
>>> The other thing you may want to do in a batch file is to change the file
>>> associations so that you can run the .py file directly, without typing
>>> "python" or "pythonw" in front of it.
>>>
>>> The relevant Windows commands are:     assoc and ftype      And on a
>>> related note, you may want to edit the PATHEXT environment variable, to
>>> add .PY and .PYW
>>>
>>
>> Thanks for this - this way made a bit more sense to me.  I've now got
>> C:\commands with the 4 .bat files in, and C:\commands in my path.  It
>> all seems to work :) I think I've missed the point of the @ though -
>> it doesn't seem to make any difference..
>>
>> I'm also a bit confused with the associations - since I've got python
>> 2.6 and 3.1, surely the command I type (python26 or python31) is the
>> only way to force a script to be run using a specific interpreter at
>> runtime without having to change the .bat file every time I want to
>> run a script using 3.1 instead of 2.6?
>>
>>
>
> The @ symbol was used in older versions of CMD and COMMAND to suppress 
> echoing of the command line.  I think if you're using XP or later, it doesn't 
> matter.
>
> As for file associations, I don't know just what you already know about.  
> When you type    data.doc    at a command line, the system looks for the data 
> file, then if it's found, it looks up the program associated with that 
> extension.  On my machine, that's a particular version of Word for Windows.  
> Similarly, if I type    digest.py   and I'm in the directory containing that 
> file, the system looks up my associations, and runs Python 2.6 on that file.  
> If I wanted it to run Python 3.1 on that file, I'd have to change the 
> associations, temporarily.
>
> So, first approximation, it's a way to avoid having to type PYTHON each time 
> I want to run a script, as long as I don't need any other arguments on the 
> (implied) command line.  Further, the system will then look for digest.py 
> everywhere on the PATH, so I don't even have to be in the same directory.  
> And that means I can be in the data directory that digest.py is going to work 
> on.  Effectively, it raises digest.py to feeling like an executable, for most 
> purposes.  In fact, I put all my scripts in a directory, along with other 
> simple executables.   I use  m:\t\bin  for that purpose.
>
> These associations (to .py and .pyw) are established by the installer program 
> for Python.  But when you had multiple installs, you could choose whether the 
> second one installed overrides the first.  My point is that if you need to 
> change them back and forth, you could use  assoc and ftype to do it.
>
> On my system:
>
> M:\LabOrders>assoc .py
> .py=Python.File
>
> M:\LabOrders>ftype Python.File
> Python.File="C:\PROGFI~1\ACTIVE~1\python.exe" "%1" %*
>
> M:\LabOrders>
>
>
> So my .py files are associated with the 2.6.2 version of ActivePython 
> installation.   Note the similarity of the ftype to your python26.bat file?
>
> One more little trick is that I could just type   digest    instead of    
> digest.py,   if I have added the .py and .pyw extensions to my   PATHEXT 
> environment variable.    So my PATHEXT looks like:
>  PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.PY;.PYW
>
>
>
> Note that the association changes made by  assoc and ftype are global.  They 
> apply to all cmd.exe windows, even those already running, and they survive a 
> reboot.  But when you set environment variables like PATHEXT,  you can choose 
> to do it in a single window (with SET), or globally (using control-panel).
>
> If I found myself switching often, I'd make separate ftype entries for each 
> interpreter, something like
>  Python.File26="C:\PROGFI~1\ACTIVE~1\python.exe" "%1" %*
>  Python.File31="C:\PROGFI~1\.....
> and just change assoc .py  to point at the one I needed today.
>
> As it is, I'm content leaving the associations pointing at 2.6, and 
> explicitly entering PYTHON31 in front of any script name I want to run on 
> that interpreter.
>
> DaveA
>
>
>
>
> ---------- Forwarded message ----------
> From: MRAB <pyt...@mrabarnett.plus.com>
> To: python-l...@python.org
> Date: Wed, 22 Jul 2009 14:12:18 +0100
> Subject: Re: Changing the private variables content
> Ryniek90 wrote:
>>>
>>> ------------------------------------------------------------------------
>>>
>>> Temat:
>>> Re: Changing the private variables content
>>> Od:
>>> Gary Herron <gher...@islandtraining.com>
>>> Data:
>>> Tue, 21 Jul 2009 14:14:44 -0700
>>> Do:
>>> Ryniek90 <rynie...@gmail.com>
>>>
>>> Do:
>>> Ryniek90 <rynie...@gmail.com>
>>> Kopia:
>>> python-list@python.org
>>>
>>>
>>> Ryniek90 wrote:
>>>>
>>>> Hi.
>>>> I'm writing some class, and decided to use inside private method and some 
>>>> private variables. While with method i haven't got any problem's with 
>>>> variables i have.
>>>> Maybe some example.
>>>> A class with private method and private variable:
>>>>
>>>> "
>>>> >>> class Secret(object):
>>>>   #
>>>>   def __init__(self):
>>>>       self._number = 1
>>>>   #
>>>>   def _secret(self):
>>>>       print self._number
>>>>   def showit(self):
>>>>       print "Secret number is:\n"
>>>>       self._secret()
>>>>
>>>> >>> sec = Secret()
>>>> >>> sec.showit()
>>>> Secret number is:
>>>>
>>>> 1
>>>> >>> sec._number
>>>> 1
>>>> >>> sec._number = 2
>>>> >>> sec._number
>>>> 2
>>>> >>> sec._number += 3
>>>> >>> sec._number
>>>> 5
>>>> >>>
>>>> "
>>>>
>>>> As You can see, i made class with private method and private variable 
>>>> inside __init__ constructor. I've changed also the variable value, but 
>>>> outside class.
>>>> I've got problem with changing some variable value _inside__my_ class, 
>>>> which i'm writing.
>>>
>>> Not sure this is what you are asking, but a method (which is how I 
>>> interpret "_inside__my_ class") changes the value by normal assignment like 
>>> this:
>>>
>>> class Secret(object):
>>>  ...
>>>  def SetNumber(self,value):
>>>   self._number = value
>>>
>>> Is that what you were asking?
>>>
>>>
>>> Gary Herron
>>>
>>>
>>>
>>>> I've searched over google, some tuts with topics about operations on 
>>>> private variables, but didn't found anything - only how to make them, but 
>>>> no how to assign new objects/override them with new content (and other 
>>>> advanced and helpful options).
>>>>
>>>> If someone could help me, it would be great.
>>>>
>>>> Thanks.
>>>
>>>
>>
>>
>> Thanks for hint, but looks like i can't do what i want.
>>
>> Maybe i show You my class:
>>
>> "
>>
>> class ModPrint(object):
>>     u"""
>>   This will be the doc.
>>   """
>>     def __init__(self):
>>             #Assign the Python installation directory - sys.exec_prefix - to 
>> variable
>>       self._default_search_path=sys.exec_prefix
>>       self._chosen_module = ''
>>       self._user_search_path = ''
>>       self._this_module = ''
>>         def _SetVar(self, attr, val):
>>       self.attr = val            def _search_for_module(self, *args):
>>             """Private method which walks through default Python 
>> installation directories, and search for prefered module."""
>>             #walking thru all directories available in path 
>> '_user_search_path'
>>       for root, dirs, files in os.walk(self._user_search_path):
>>           for f in files:
>>                             #if found file 'f' is THAT module,
>>               #full path to THAT file is assigned to variable
>>               if f == ("%s.py" % self._chosen_module):
>>                   self._SetVar(self._this_module, os.path.join(root, f))
>>                                       def print_module(self, 
>> _chosen_module='', _user_search_path='', 
>> _default_search_path=sys.exec_prefix,):
>>             """Reads module chosen by user, and returns full content of this 
>> module, as it is."""
>>                   #if custom search path hasn't been assigned,
>>       #default path is being assigned as custom path
>>       if self._user_search_path == '':
>>           self._user_search_path = self._default_search_path
>>                 #using private method '_search_for_module' with 'self.' 
>> preffix
>>       #to search for prefered module
>>       self._search_for_module(_chosen_module, _user_search_path)
>>             #opening prefered module with read-only binary mode
>>       #and assigning it to 'module_open' variable
>>       module_open = open(self._this_module, 'rb')
>>             #reading this file and assigning it to variable
>>       module_text = module_open.read()
>>             #closing read file; the read content is still available
>>       #it's stored in variable 'module_text'
>>       module_open.close()
>>             #returning the read content
>>       return module_text
>>
>> "
>>
>> When i use this class in Python IDLE, i've got this error:
>> "
>>  >>> mod = ModPrint()
>>  >>> import socket
>>  >>> mod.print_module('socket')
>>
>> Traceback (most recent call last):
>>  File "<pyshell#60>", line 1, in <module>
>>   mod.print_module('socket')
>>  File "<pyshell#57>", line 48, in print_module
>>   module_open = open(self._this_module, 'rb')
>> IOError: [Errno 2] No such file or directory: ''
>>  >>>
>> "
>>
>> As You can see, i can't assign the new value "os.path.join(root, f)" to the 
>> 'self._this_module variable'.
>> So for sure i've made some mistake in method:
>>
>> "
>> def _SetVar(self, attr, val):
>>       self.attr = val   "
>> When i've changed private variables to normal, stored in class (in __init__ 
>> method), it was the same situation - i couldn't change this variable value.
>>
>> "
>>  >>> mod = ModPrint()
>>  >>> mod.print_module('os')
>>
>> Traceback (most recent call last):
>>  File "<pyshell#72>", line 1, in <module>
>>   mod.print_module('os')
>>  File "<pyshell#64>", line 48, in print_module
>>   module_open = open(self.this_module, 'rb')
>> IOError: [Errno 2] No such file or directory: ''
>>  >>>
>> "
>>
>> Thanks i someone could help me, give some hint.
>
> What is the point of the _SetVar method?
>
> Instead of:
>
>    self._SetVar(self._this_module, os.path.join(root, f))
>
> just do:
>
>    self._this_module = os.path.join(root, f)
>
> (unless I'm misunderstanding what you're trying to do!)
>
>
> --
> http://mail.python.org/mailman/listinfo/python-list
>
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to