PyErr_Format(PyExc_AttributeError,
"'%.50s' object has no attribute '%.400s'",
- tp->tp_name, name);
+ tp->tp_name, name);
return NULL;
}
is to read? ::
charref = re.compile(r"""
- &[#] # Start of a numeric entity reference
+ &[#] # Start of a numeric entity reference
(
0[0-7]+ # Octal form
| [0-9]+ # Decimal form
Determine if there is an effective (active) breakpoint at this line of code.
Return breakpoint number or 0 if none.
-
+
Called only if we know there is a breakpoint at this location. Returns the
breakpoint that was triggered and a flag that indicates if it is ok to delete
a temporary breakpoint.
The urlopen function from the previous version, Python 2.6 and earlier, of
the module urllib has been discontinued as urlopen can return the
file-object as the previous. The proxy handling, which in earlier was passed
- as a dict parameter to urlopen can be availed by the use of `ProxyHandler`
- objects.
+ as a dict parameter to urlopen can be availed by the use of
+ :class:`ProxyHandler` objects.
.. function:: install_opener(opener)
self.proxy = proxy
def make_connection(self, host):
self.realhost = host
- h = http.client.HTTP(self.proxy)
- return h
+ h = http.client.HTTP(self.proxy)
+ return h
def send_request(self, connection, handler, request_body):
connection.putrequest("POST", 'http://%s%s' % (self.realhost, handler))
def send_host(self, connection, host):
7 2147483647 0o177 0b100110111
3 79228162514264337593543950336 0o377 0x100000000
- 79228162514264337593543950336 0xdeadbeef
+ 79228162514264337593543950336 0xdeadbeef
.. _floating:
nonlocal_stmt: "nonlocal" `identifier` ("," `identifier`)*
.. XXX add when implemented
- : ["=" (`target_list` "=")+ `expression_list`]
- : | "nonlocal" `identifier` `augop` `expression_list`
+ : ["=" (`target_list` "=")+ expression_list]
+ : | "nonlocal" identifier augop expression_list
The :keyword:`nonlocal` statement causes the listed identifiers to refer to
previously bound variables in the nearest enclosing scope. This is important
f
l
o
- g
+ g
Anything that can be done with generators can also be done with class based
iterators as described in the previous section. What makes generators so
>>> answers = ['lancelot', 'the holy grail', 'blue']
>>> for q, a in zip(questions, answers):
... print('What is your {0}? It is {1}.'.format(q, a))
- ...
+ ...
What is your name? It is lancelot.
What is your quest? It is the holy grail.
What is your favorite color? It is blue.
>>> basket = ['apple', 'orange', 'apple', 'pear', 'orange', 'banana']
>>> for f in sorted(set(basket)):
... print(f)
- ...
+ ...
apple
banana
orange
package on all others. However there are certain features you might want to use
that are not available on your distro's package. You can easily compile the
latest version of Python from source.
-
+
In the event that Python doesn't come preinstalled and isn't in the repositories as
well, you can easily make packages for your own distro. Have a look at the
following links:
* OpenBSD users use::
pkg_add ftp://ftp.openbsd.org/pub/OpenBSD/4.2/packages/<insert your architecture here>/python-<version>.tgz
-
+
For example i386 users get the 2.5.1 version of Python using::
pkg_add ftp://ftp.openbsd.org/pub/OpenBSD/4.2/packages/i386/python-2.5.1p2.tgz
import logging
logging.basicConfig(filename='/var/log/application.log',
level=0, # Log all messages
- format='%(levelname):%(process):%(thread):%(message)')
+ format='%(levelname):%(process):%(thread):%(message)')
Other additions to the :mod:`logging` package include a :meth:`log(level, msg)`
convenience method, as well as a :class:`TimedRotatingFileHandler` class that