whatever will they think of next ;-)
Thanks for maintaining gmpy - it is an excellent bit of software!
--
Nick Craig-Wood -- http://www.craig-wood.com/nick
--
http://mail.python.org/mailman/listinfo/python-list
till
> works.
I don't think anyone has mentioned reportlab... It can plot charts I
think, though last time I used it I plotted stuff by hand as I wanted
exact control over the layout.
I'm not sure of the dependencies though so may not be suitable for
your purposes.
http://www.reportl
t in the order you
might expect.
I think twisted has VT100 emulator, but I couldn't find it in a brief
search just now.
You'll find various others (like this one) if you search some more
http://svn.python.org/projects/python/branches/string_methods/Demo/cwilib/vt100.py
--
Nick Cra
e hostname of the machine and import a secondary file of
settings with that name. This has the advantage that you can check
everything in.
--
Nick Craig-Wood -- http://www.craig-wood.com/nick
--
http://mail.python.org/mailman/listinfo/python-list
if buf:
lines = buf.splitlines(True)
for line in lines[:-1]:
yield line
buf = lines[-1]
if buf.endswith("\n"):
yield buf
buf = ""
else:
time.sleep(SLEEP_INTERVAL)
def main(path):
for line in tail(path):
print "%r:%r" % (len(line), line)
if __name__ == "__main__":
import sys
main(sys.argv[1])
--
Nick Craig-Wood -- http://www.craig-wood.com/nick
--
http://mail.python.org/mailman/listinfo/python-list
se it you can then use
from config import config
if config.debug:
# blah
This has the advantage that you can define some methods on your config
object (eg save).
I don't know whether this is best practice but it works for me!
--
Nick Craig-Wood -- http://www.craig-wood.com/nick
--
http:/
ne your classes / functions in hotte.py
then use them like
import hotte
hotte.MyClass()
hotte.my_function()
See here for the relevant bit of the tutorial
http://docs.python.org/tutorial/modules.html
--
Nick Craig-Wood -- http://www.craig-wood.com/nick
--
http://mail.python.org/mailman/listinfo/python-list
and
> concurrency-requirements, it's not really feasible.
You can write FUSE (file systems in userspace) drivers in python I believe.
Not the same as running in ring0 but in most senses a kernel driver...
--
Nick Craig-Wood -- http://www.craig-wood.com/nick
--
http://mail.python.org/mailman/listinfo/python-list
rocess()
Which prints
Trying 1
Trying 2
Trying 3
Trying 4
Traceback (most recent call last):
File "", line 20, in
File "", line 16, in lock_process
Exception: Too many instances of me running
You could do the same thing with lock files also very easily...
--
Nick Craig-Wood -- http://www.craig-wood.com/nick
--
http://mail.python.org/mailman/listinfo/python-list
the
certificate is invalid it may help your python code.
Real certificates cost real money. Usually a correctly set up
self-signed certificate is fine for dev stuff. I'm certainly too
cheap to by real certificates for dev or internal stuff!
--
Nick Craig-Wood -- http://www.craig-wood.com/nick
--
http://mail.python.org/mailman/listinfo/python-list
o the server having a invalid server
> cert?
I'd say judging from the traceback you messed up key_file or cert_file
somehow.
Try using the openssl binary on them (read the man page to see how!)
to check them out.
> If I go to this server in my browser, I get a "This server tried to
> identify itself with invalid information". Is there a way to
> ignore this issue with Python? Can I setup a trust store and add
> this server to the trust store?
Invalid how? Self signed certificate? Domain mismatch? Expired certificate?
--
Nick Craig-Wood -- http://www.craig-wood.com/nick
--
http://mail.python.org/mailman/listinfo/python-list
Christian Heimes wrote:
> Nick Craig-Wood wrote:
> > Christian Heimes wrote:
> >> I'm looking for a generator version of os.listdir() for Python 2.5 and
> >> newer. I know somebody has worked on it because I've seen a generator
> >> version in
e
d.close()
del d
if __name__ == "__main__":
import sys
paths = sys.argv[1:]
if not paths:
paths = ["."]
for path in paths:
print "*** %s ***" % path
for name in listdir(path):
print name
--
Nick Craig-Wood -- http://www.craig-wood.com/nick
--
http://mail.python.org/mailman/listinfo/python-list
subprocess.Popen/os.system and a worker thread.
>
> Anyone done this already, or do I have to roll my own?
You might want to look at twisted, in particular
http://twistedmatrix.com/trac/wiki/DeferredGenerator
--
Nick Craig-Wood -- http://www.craig-wood.com/nick
--
http://mail.python.org/mailman/listinfo/python-list
e table scanning. So it is not the size of the data
> returned, but the size of the data that needs to be scanned.
In all the databases I've used, the like operator has been case
insensitive, so if that is the problem you could use
NAME like '%cis20r%' -- not quite the same, but close!
and NAME_ like 'fatigue'
instead which might be quicker. Or not ;-)
--
Nick Craig-Wood -- http://www.craig-wood.com/nick
--
http://mail.python.org/mailman/listinfo/python-list
instead of producing an
object file, it produces a machine readable xml file describing the
source.
It is used by h2xml.py / xml2py.py to make ctypes header file
automatically.
--
Nick Craig-Wood -- http://www.craig-wood.com/nick
--
http://mail.python.org/mailman/listinfo/python-list
Hour
boards. There is another part which I haven't attempted to compile
yet which finds the most difficult possible boards using a combination
of back tracking and a genetic algorithm.
--
Nick Craig-Wood -- http://www.craig-wood.com/nick
--
http://mail.python.org/mailman/listinfo/python-list
ng session if it takes me an hour
each cycle ;-)
The program is about 700 lines of python (excluding comments).
Thanks
Nick
--
Nick Craig-Wood -- http://www.craig-wood.com/nick
--
http://mail.python.org/mailman/listinfo/python-list
strerror(errno))
def readdir(self):
"""Read the next name in the directory"""
cdef dirent *p
p = readdir(self.handle)
if p is NULL:
return None
return p.d_name
def close(self):
"""Cl
= Eigen_vect(3, range(10))
f = Eigen_vect(4, range(1,11))
print e
print f
print e[2]
print e.dot(f)
Which prints
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
2
330.0
--
Nick Craig-Wood -- http://www.craig-wood.com/nick
--
http://mail.python.org/mailman/listinfo/python-list
gnal.alarm(t)
try:
rc = fn(*args, **kwargs)
finally:
# Restore the old handler
signal.signal(signal.SIGALRM, old_handler)
signal.alarm(0)
def test():
for repeat in range(10):
print time.time()
time.sleep(0.66)
if __name__ == "
45)
[GCC 4.3.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
Loaded customisations from '/home/ncw/.pystartup'
>>> isinstance(KeyboardInterrupt(), Exception)
False
>>>
> for x in really_big_list:
> try:
> long_running_process(x)
> except (KeyboardInterrupt, SystemExit):
> print "User requested exit... shutting down now"
> cleanup()
> raise
> except Exception:
> continue
That is the backwards compatible way
--
Nick Craig-Wood -- http://www.craig-wood.com/nick
--
http://mail.python.org/mailman/listinfo/python-list
the time goes.
>
> ("It should be written in C" is not an acceptable answer.)
You could compile it with Cython though. lxml took this route...
--
Nick Craig-Wood -- http://www.craig-wood.com/nick
--
http://mail.python.org/mailman/listinfo/python-list
ink it is easier to use su (assuming you
start off as root),
so instead of passing
['mycommand', 'my_arg1', 'my_arg2']
to Popen, pass
['su', '-', 'username', '-c', 'mycommand my_arg1 my_arg2']
There is some opportunity for quoting problems there, but it is easy!
--
Nick Craig-Wood -- http://www.craig-wood.com/nick
--
http://mail.python.org/mailman/listinfo/python-list
Real time is wallclock time.
That must mean
a) your program is threading
b) there is something up with timing on your computer
Looks odd but exactly what it means I don't know!
> 2) time ff
> time used = 2.19
> real0m3.170s
> user0m2.088s
> sys 0m0.168s
--
Nick Craig-Wood -- http://www.craig-wood.com/nick
--
http://mail.python.org/mailman/listinfo/python-list
d in the module and a class imported
> into it.
>
> Finally, despite the warning, I think you are ok to use dir() for that
> purpose. It's not likely to change.
Good advice...
And as a double check
>>> import sys
>>> set(sys.__dict__.keys())
ssages when tracking down problems. A lot of people (like me)
will enjoy the puzzle of looking through your code and finding out
where it went wrong.
--
Nick Craig-Wood -- http://www.craig-wood.com/nick
--
http://mail.python.org/mailman/listinfo/python-list
buteError("%r object has no attribute %r" %
(self.__class__.__name__, name))
def copy(self):
return MyDict(self)
> print x.a
> print x.z
> print x.values
>
> Big question - what should the last line display? If you expect "3"
> and not &q
_p()
print addressof(cstring)
cstring.value = address
memmove(address, answer, len(answer))
print cstring.value
memmove(address, address+1, 1)
print cstring.value
Which prints
159611736
3084544552
foobar
ooobar
--
Nick Craig-Wood -- http://www.craig-wood.com/nick
--
http://mail.python.org/mailman/listinfo/python-list
on Windows too IIRC.
--
Nick Craig-Wood -- http://www.craig-wood.com/nick
--
http://mail.python.org/mailman/listinfo/python-list
def get_bar(self):
return (self.bar1 << 32) + self.bar0
bar = property(get_bar, set_bar)
print "sizeof(foo) = %d" % sizeof(foo)
f = foo()
print f.bar
f.bar = 123456789012345
print f.bar
Which prints
sizeof(foo) = 6
0
123456789012345
--
Nick Craig-Wood -- http://www.craig-wood.com/nick
--
http://mail.python.org/mailman/listinfo/python-list
quickly show you whether you are fragmenting
your UDP messages.
Another thing to bear in mind with UDP is that you can easily exceed
the packets / second that switches / routers can bear if you send lots
of small messages. Switches / routers will start dumping packets if
you do that since. Some switch
setsockopt(socket.SOL_SOCKET, socket.SO_RCVBUF, 1048576)
>>> s.getsockopt(socket.SOL_SOCKET, socket.SO_RCVBUF)
262142
>>>
I ran the above on linux and I expect the limit 262144 is settable in
/proc/sys/net somewhere.
No idea whether the above works on windows!
--
Nick Craig-Wood -- http://www.craig-wood.com/nick
--
http://mail.python.org/mailman/listinfo/python-list
Nick Craig-Wood wrote:
> Jean-Paul Calderone wrote:
> > On Mon, 15 Jun 2009 09:29:33 -0500, Nick Craig-Wood
> > wrote:
> > >Hrvoje Niksic wrote:
> > >> Nick Craig-Wood writes:
> > >>
> > >> > Here is a ctypes generator listdi
Jean-Paul Calderone wrote:
> On Mon, 15 Jun 2009 09:29:33 -0500, Nick Craig-Wood
> wrote:
> >Hrvoje Niksic wrote:
> >> Nick Craig-Wood writes:
> >>
> >> > Here is a ctypes generator listdir for unix-like OSes.
> >>
> >> ctypes c
Hrvoje Niksic wrote:
> Nick Craig-Wood writes:
>
> > Here is a ctypes generator listdir for unix-like OSes.
>
> ctypes code scares me with its duplication of the contents of system
> headers. I understand its use as a proof of concept, or for hacks one
> needs r
A generator to return the names of files in the directory passed in
"""
dir_p = opendir(".")
while True:
p = readdir(dir_p)
if not p:
break
name = p.contents.d_name
if name not in (".", ".."):
yield name
closedir(dir_p)
if __name__ == "__main__":
for name in listdir("."):
print name
--
Nick Craig-Wood -- http://www.craig-wood.com/nick
--
http://mail.python.org/mailman/listinfo/python-list
foo[7], foo[1], foo[-1]
(assuming you didn't mind having a tuple rather than a list)
or maybe this
wanted = [ foo[i] for i in 3, 7, 1, -1 ]
However I can't think of the last time I wanted to do this - array
elements having individual purposes are usually a sign that you should
be using a different data structure.
--
Nick Craig-Wood -- http://www.craig-wood.com/nick
--
http://mail.python.org/mailman/listinfo/python-list
nts. Note that private_hash starts
with an underscore which means it won't be exported from a module by
default and it is a convention that it is private and shouldn't be
fiddled with. I'd probably go with the latter of the two examples.
--
Nick Craig-Wood -- http://www.craig-wood.com/nick
--
http://mail.python.org/mailman/listinfo/python-list
Stefan Behnel wrote:
> Nick Craig-Wood wrote:
> > Luis M González wrote:
> >> I am very excited by this project (as well as by pypy) and I read all
> >> their plan, which looks quite practical and impressive.
> >> But I must confess that I can
RSS %MEM COMMAND
9159 pts/7S+ 0:00 0 1000 5551 3404 0.1 /usr/bin/python
./procname.py
After
PID TTY STAT TIME MAJFL TRS DRS RSS %MEM COMMAND
9159 pts/7S+ 0:00 0 1000 5551 3420 0.1 sausage
--
Nick Craig-Wood -- http://www.craig-wood.com/nick
--
http://mail.python.org/mailman/listinfo/python-list
oes it mean?
I don't know, I'm afraid.
> I guess it has nothing to do with the v8 strategy, because unladen
> swallow will be a virtual machine, while v8 compiles everything to
> machine code on the first run. But I still wonder what this mean and
> how this is different.
> re.sub('/?$', '/', 'aaabbb')
'aaabbb/'
>>>
That solution is very perl-ish I'd say, IMHO
if not url.endswith("/"):
url += "/"
is much more pythonic and immediately readable. In fact even someone
who doesn't know python could understand what it does, unlike the
regexp solution which requires a little bit of thought.
--
Nick Craig-Wood -- http://www.craig-wood.com/nick
--
http://mail.python.org/mailman/listinfo/python-list
Gaudha wrote:
> Can anybody tell me what is meant by 'openhook' ?
http://docs.python.org/library/fileinput.html?highlight=openhook
Maybe ;-)
--
Nick Craig-Wood -- http://www.craig-wood.com/nick
--
http://mail.python.org/mailman/listinfo/python-list
b = reshape(a, [3,3])
>>> linalg.det(b)
-9.5171266700777579e-16
>>>
Which is zero but with a bit of rounding errors which I guess numpy
doesn't notice.
Double checking like this
>>> a,b,c,d,e,f,g,h,i=range(1,10)
>>> a*e*i - a*f*h - b*d*i + b*f*g + c*d*h -
m concerned is that it is more of a port of CPython to a new
architecture than a complete re-invention of python (like PyPy /
IronPython / jython) so stands a chance of being merged back into
CPython.
--
Nick Craig-Wood -- http://www.craig-wood.com/nick
--
http://mail.python.org/mailman/listinfo/python-list
Ben Finney wrote:
> Emile van Sebille writes:
>
> > On 6/4/2009 3:19 PM Lawrence D'Oliveiro said...
> > > In message , Nick Craig-
> > > Wood wrote:
> > >
> > >> You quit emacs with Ctrl-X Ctrl-C.
> > >
> > > That'
, press Ctrl-C Ctrl-C and have the output shown in a
different window. If you messed up, clicking on the error will put
the cursor in the right place in the code).
--
Nick Craig-Wood -- http://www.craig-wood.com/nick
--
http://mail.python.org/mailman/listinfo/python-list
Enabled
According to the man page smartctl also runs under windows/mac/solaris
etc
--
Nick Craig-Wood -- http://www.craig-wood.com/nick
--
http://mail.python.org/mailman/listinfo/python-list
radius -= 1
screen.fill(background_colour)
for dot in dots:
pygame.draw.circle(screen, foreground_colour, dot, radius, 1)
dots = [ (dot[0]+randrange(-1,2), dot[1]+randrange(-1,2)) for dot in
dots ]
pygame.display.flip()
if __name__ == "__main__"
ointers etc. If you want to dig into virtual classes with multiple
bases or the STL then you are probably into the territory you
describe.
That said I've used C++ with ctypes loads of times, but I always wrap
the exported stuff in extern "C" { } blocks.
--
Nick Craig-Wood -- http://www.craig-wood.com/nick
--
http://mail.python.org/mailman/listinfo/python-list
David Bolen wrote:
> Nick Craig-Wood writes:
>
> > ctypes could potentially note that function types don't have enough
> > references to them when passed in as arguments to C functions? It
> > might slow it down microscopically but it would fix this problem.
&
uld potentially note that function types don't have enough
references to them when passed in as arguments to C functions? It
might slow it down microscopically but it would fix this problem.
--
Nick Craig-Wood -- http://www.craig-wood.com/nick
--
http://mail.python.org/mailman/listinfo/python-list
nder.py\n'
(printed with a 1 second pause between each line)
----
If you want to interact with a subprocess (eg send, receive, send,
receive) then use the pexpect module - buffering in subprocess will
cause you nothing but pain otherwise!
> (Or, is there a way to create a subprocess.Popen object from what I assume =
> is the process handle integer ?)
Errr, not as far as I know.
--
Nick Craig-Wood -- http://www.craig-wood.com/nick
--
http://mail.python.org/mailman/listinfo/python-list
=10**6 because I got bored of waiting ;-)
map
9.85280895233
pmap
28.4256689548
So the pmap took nearly 3 times as long. I expect this is because the
task was divided into 5 sections each competing madly for the GIL.
I ran the same script under the latest jython beta which was very
interesting! pmap showing a slight improvement, and faster than
cPython!
$ jython2.5rc2/jython pmap.py
map
6.242000103
pmap
5.8881144
--
Nick Craig-Wood -- http://www.craig-wood.com/nick
--
http://mail.python.org/mailman/listinfo/python-list
be even a bit
> easier.
I'd use pygame for a really clean full screen display.
Probably a bit more work, but you'll get something really cool at the
end of it!
here is how to use matplotlib on a pygame surface
http://www.pygame.org/wiki/MatplotlibPygame
--
Nick Craig-Wood -- http://www.craig-wood.com/nick
--
http://mail.python.org/mailman/listinfo/python-list
plejson as json
Is more pythonic... You aren't relying on what came with particular
python versions which may not be true in jython/ironpython/etc.
--
Nick Craig-Wood -- http://www.craig-wood.com/nick
--
http://mail.python.org/mailman/listinfo/python-list
if not out:
break
yield out
g = Grouper(5, xrange(20))
print list(g)
g = Grouper(4, xrange(19))
print list(g)
Which produces
[(0, 1, 2, 3, 4), (5, 6, 7, 8, 9), (10, 11, 12, 13, 14), (15, 16, 17, 18, 19)]
[(0, 1, 2, 3), (4, 5, 6, 7), (8, 9, 10, 11), (12, 13, 14, 15), (16, 17,
callbacks or deferred objects).
To get your program to do something immediately after it is started,
use reactor.callLater() before calling reactor.run().
You can't mix and match programming styles with twisted - it is all
asynchronous callbacks or nothing in my experience! That takes a bit
of
;", line 5, in getMeasurement
NotImplementedError
>>> base.setPressure(14)
Traceback (most recent call last):
File "", line 1, in
File "", line 7, in setPressure
NotImplementedError
>>>
>>> real = RealDevice("/dev/ttyS1")
>>> real
RealDevice('/dev/ttyS1')
>>> real.getMeasurement()
0
>>> real.setPressure(14)
>>> real.getMeasurement()
14
>>>
--
Nick Craig-Wood -- http://www.craig-wood.com/nick
--
http://mail.python.org/mailman/listinfo/python-list
now what I mean), just to the left of the
> RETURN key. Emacs is my editor of choice, and I've never once come
> across anything like this.
You probably haven't used MAC OS X then! I vnc to a mac and use emacs
and I just can't type a #. "Ctrl-Q 43 Return" is my best effort!
--
Nick Craig-Wood -- http://www.craig-wood.com/nick
--
http://mail.python.org/mailman/listinfo/python-list
it follows a very dumb, completely reversible
> (uninstallable) process of symlinking those files into the system
> directory structure.
Once you've got that well formed directory structure it is very easy
to make it into a package (eg deb or rpm) so that idea is useful in
general for package managers, not just stow.
--
Nick Craig-Wood -- http://www.craig-wood.com/nick
--
http://mail.python.org/mailman/listinfo/python-list
def __init__(self):
usage = '''Usage: %prog [options] YYMMDD
%prog -h|--help
'''
parser = OptionParser(usage=usage)
parser.add_option("-n", "--no-newline", dest="nonl",
he C++ symbols into the python code at runtime
with ctypes. A bit of C++ implements the shims for the callbacks from
python -> C++ (which are exported by ctypes).
> P.S. I want to develop on Linux not Windows.
Should be just the same on both. Once you've made your setup.py (for
code byte 0xc2 in position
1: ordinal not in range(128)
>>> unicode('[\xc2\xa9au]')
Traceback (most recent call last):
File "", line 1, in
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc2 in position
1: ordinal not in range(128)
>>> L.__unicode__
Traceback (most recent call last):
File "", line 1, in
AttributeError: 'list' object has no attribute '__unicode__'
>>> unicode(str(L),"utf-8")
u'[\xa9au]'
--
Nick Craig-Wood -- http://www.craig-wood.com/nick
--
http://mail.python.org/mailman/listinfo/python-list
ts and the
documentation then submit the patch to the python bugtracker.
If I couldn't fix it then I'd report it as a bug.
--
Nick Craig-Wood -- http://www.craig-wood.com/nick
--
http://mail.python.org/mailman/listinfo/python-list
uot; returned something useful also!
You could do this by replacing your current __init__.py (which just
contains "from _psutil import *") with _psutil.py
--
Nick Craig-Wood -- http://www.craig-wood.com/nick
--
http://mail.python.org/mailman/listinfo/python-list
gt;> p.wait() # returns the error code
0
>>>
There was talk of removing the other methods from public use for 3.x.
Not sure of the conclusion.
--
Nick Craig-Wood -- http://www.craig-wood.com/nick
--
http://mail.python.org/mailman/listinfo/python-list
; Any thoughts?
Read up on introspection and learn how to look up through the stack
frames.
When you've mastered that look for an object matching self in all the
locals in those stack frames.
That will give some kind of answer.
I have no idea whether this will work - the keyboard of my phone is
too small to produce a proof ;-)
--
Nick Craig-Wood -- http://www.craig-wood.com/nick
--
http://mail.python.org/mailman/listinfo/python-list
andler, item)
menuBar.Append(submenu, menuLabel)
self.SetMenuBar(menuBar)
That is the way I normally do it anyway!
You create the submenu as a seperate menu then attach it to the
menuBar with the label.
Note there is a wxpython list also which you may get more help in!
--
Nick Craig-Wood -- http://www.craig-wood.com/nick
--
http://mail.python.org/mailman/listinfo/python-list
Steven D'Aprano wrote:
> On Tue, 28 Apr 2009 14:30:02 -0500, Nick Craig-Wood wrote:
>
> > t123 wrote:
> >> It's running on solaris 9. Here is some of the code. It's actually
> >> at the beginning of the job. The files are ftp'd over. Th
27;.0')
except OSError:
pass
Which isn't racy. Or if you wanted to be more thorough
import errno
try:
os.rename(paths.xferin_dir+'/COMM.DAT',paths.xferin_dir+'/COMM.DAT'+'.0')
except OSError, e:
if e.errno != err
Ole Streicher wrote:
> Hi Nick,
>
> Nick Craig-Wood writes:
> > mmaps come out of your applications memory space, so out of that 3 GB
> > limit. You don't need that much RAM of course but it does use up
> > address space.
>
> Hmm. So I have
the most common class (several hundred thousand
instances!).
When doing these optimisations I ran a repeatable script and measured
the total memory usage using the OS tools (top in my case).
--
Nick Craig-Wood -- http://www.craig-wood.com/nick
--
http://mail.python.org/mailman/listinfo/python-list
f the
other which would then speed up the two access patterns enormously.
You needn't mmap the two arrays (files) at the same time either.
--
Nick Craig-Wood -- http://www.craig-wood.com/nick
--
http://mail.python.org/mailman/listinfo/python-list
odule_name") you can then click in its output window to go
to the correct line of code.
--
Nick Craig-Wood -- http://www.craig-wood.com/nick
--
http://mail.python.org/mailman/listinfo/python-list
dology above then when you re-organize (or refactor to
use the modern jargon) the code you can be 100% sure that you didn't
break anything which is a wonderful feeling.
--
Nick Craig-Wood -- http://www.craig-wood.com/nick
--
http://mail.python.org/mailman/listinfo/python-list
>>
> >> On Linux: no.
> >
> > I wonder if there is no way to emulate ptys from userspace?
>
> Didn't I just answer that question?
>
> On Linux: no.
Actually you could do it with an LD_PRELOAD library
Intercept open("/dev/ttyS0",...). You
ds"
This builds a set of all the files on the filesystem and prints
Found 314492 files in 1.152987957 seconds
on my laptop, using about 19 MB total memory
You could easily enough put that into an sqlite table instead of a set().
--
Nick Craig-Wood -- http://www.craig-wood.com/nick
--
http://mail.python.org/mailman/listinfo/python-list
t;"
def search(self, r, s):
"""
Do a regular expression search and return if it matched.
"""
self.value = re.search(r, s)
return self.value
def __getitem__(self, n):
"""
Return n'th matched () item.
Note so the first matched item will be matcher[0]
"""
return self.value.group(n+1)
def groups(self):
"""
Return all the matched () items.
"""
return self.value.groups()
--
Nick Craig-Wood -- http://www.craig-wood.com/nick
--
http://mail.python.org/mailman/listinfo/python-list
e here
http://packages.debian.org/sid/python-htmlgen
But I think its original website is gone.
--
Nick Craig-Wood -- http://www.craig-wood.com/nick
--
http://mail.python.org/mailman/listinfo/python-list
at C calls doubles.
When you do
>>> float( 0.222)
0.1
Python prints as many decimal places as are significant in the answer.
This is covered in the FAQ
http://www.python.org/doc/faq/general/#why-are-floating-point-calculations-so-inaccurate
If you want more precision use the built in decimal module or the
third party gmpy module.
--
Nick Craig-Wood -- http://www.craig-wood.com/nick
--
http://mail.python.org/mailman/listinfo/python-list
ion in your program will rise.
I've noticed some programmers think in big classes and some think in
small classes. Train yourself to do the other thing and your
programming will improve greatly!
--
Nick Craig-Wood -- http://www.craig-wood.com/nick
--
http://mail.python.org/mailman/listinfo/python-list
ect at 0xb7e897cc>
>>> Node(1,2,3).prev
1
>>> L = []
>>> for i in xrange(100):
... L.append(Node(1,2,3))
...
>>> import os
>>> os.getpid()
28203
>>>
(from top)
28203 ncw 20 0 43364 38m 1900 S0 1.9 0:04.41 python
So the Node class actually takes less memory 38 Mbytes vs 53 Mbytes for
the list.
--
Nick Craig-Wood -- http://www.craig-wood.com/nick
--
http://mail.python.org/mailman/listinfo/python-list
enjoyed the encyclopedic nature of it. So if it appeals to you I'd
say go for it!
The fact that it doesn't use the latest version of python isn't a
problem - python doesn't change very quickly and emphasises backwards
compatibility, even for the jump to 3.x.
--
Nick Craig-Wood -- http://www.craig-wood.com/nick
--
http://mail.python.org/mailman/listinfo/python-list
n to fold their work back into CPython when done too.
Sounds like a project to keep an eye on!
> Now the question is will this make Vista run faster?
Nothing could do that ;-)
--
Nick Craig-Wood -- http://www.craig-wood.com/nick
--
http://mail.python.org/mailman/listinfo/python-list
rface file? Should the user defined header be placed
> > in the /usr/include directory?
> >
> > Any help on this is highly appreciated.
My advice to you is to compile the C stuff into a .so and use ctypes
instead of swig. You then write the interface code in python not C
and you'll have a lot more fun!
cython is very useful in this area too provided you don't mind an
extra dependency. If you are developing C code from scratch to
use with python, then write it in cython instead!
> Should you be putting a function body in a header file?
No
--
Nick Craig-Wood -- http://www.craig-wood.com/nick
--
http://mail.python.org/mailman/listinfo/python-list
ld be easy. Try to compile python in the cross compiling
environment and see what happens!
However if you are running Nucleus with Linux and want to run python
in the Linux bit of it then I'd suggest to use the packages available
for the Linux side of it. (Eg if it is running debian then ap
y> rc(x)
> 2 # the name x, and a temporary reference as parameter
> py> rc([])
> 1 # only the temporary reference
> py> x = y = []
> py> rc(x)
> 3
> py> x = ()
> py> rc(x)
> 954 # the empty tuple is shared
That reminds me, you can use the g
nt only in the source code!
I think the others are just conventions and are not actually used by
anything, but I'd be interested to be proved wrong!
I tend to use
__author__ = "Nick Craig-Wood "
__version__ = "$Revision: 5034 $"
__date__ = "$Date: 2009-02-03 16:50:0
quite a few years of python programing
I'm still learning new things from c.l.py
As a long time usenet user I find it easy to ignore the occasional
flame wars. Posters with the wrong sort of attitude are brought
gently into line by the majority.
If usenet groups had ratings I'd give c.l
ll once
you've jumped the flaming hoops of fire that setting it up is!
Another thing you can try is run your process untill it leaks loads,
then make it dump core. Examine the core dump with a hex editor and
see what it is full of! This technique works suprisingly often.
--
Nick Craig-Wood -- http://www.craig-wood.com/nick
--
http://mail.python.org/mailman/listinfo/python-list
unmatched brackets, empty brackets, etc) and be sure it works
exactly as specified. doctest is cool for this kind of stuff.
--
Nick Craig-Wood -- http://www.craig-wood.com/nick
--
http://mail.python.org/mailman/listinfo/python-list
address is the address of the socket sending the data.
--
Nick Craig-Wood -- http://www.craig-wood.com/nick
--
http://mail.python.org/mailman/listinfo/python-list
.4 is still perhaps the safest bet, even though it is more
> awkward for writing code close to Python 3 syntax.
I tend to target whatever is in Debian stable, which starting from
this month is 2.5 (recently upgraded from 2.4).
2.6 or 3.x is nowhere to be seen in Debian stable, testing or u
Jean-Paul Calderone wrote:
> On Mon, 23 Mar 2009 05:30:04 -0500, Nick Craig-Wood
> wrote:
> >Jean-Paul Calderone wrote:
> > [snip]
> >>
> >> In the case of a TCP to serial forwarder, you don't actually have to
> >> implement either a pro
Jean-Paul Calderone wrote:
> On Sun, 22 Mar 2009 12:30:04 -0500, Nick Craig-Wood
> wrote:
> >I wrote a serial port to TCP proxy (with logging) with twisted. The
> >problem I had was that twisted serial ports didn't seem to have any
> >back pressure. By that I
use up all my RAM
and explode.
What I wanted to happen was for twisted to stop taking the data when
the serial port buffer was full and to only take the data at 9600
baud.
I never did solve that problem :-(
--
Nick Craig-Wood -- http://www.craig-wood.com/nick
--
http://mail.python.org/mailman/listinfo/python-list
python as with shell because it has
almost everything you'll need built in.
Using built in functions is much quicker than fork()-ing an external
command too.
> So much to learn, so little time (but so much fun!)
;-)
--
Nick Craig-Wood -- http://www.craig-wood.com/nick
--
http://mail.python.org/mailman/listinfo/python-list
tly.
You would need to make a dictionary interface to sqlite, eg
http://code.activestate.com/recipes/576638/
Or do something a bit simpler yourself.
--
Nick Craig-Wood -- http://www.craig-wood.com/nick
--
http://mail.python.org/mailman/listinfo/python-list
1 - 100 of 641 matches
Mail list logo