The base class for all built-in exceptions. It is not meant to be directly
inherited by user-defined classes (for that use :exc:`Exception`). If
- :func:`str` or :func:`unicode` is called on an instance of this class, the
+ :func:`bytes` or :func:`str` is called on an instance of this class, the
representation of the argument(s) to the instance are returned or the empty
string when there were no arguments. All arguments are stored in :attr:`args`
as a tuple.
file-like object).
If *skipkeys* is ``True`` (default: ``False``), then dict keys that are not
- of a basic type (:class:`str`, :class:`unicode`, :class:`int`,
+ of a basic type (:class:`bytes`, :class:`str`, :class:`int`,
:class:`float`, :class:`bool`, ``None``) will be skipped instead of raising a
:exc:`TypeError`.
.. function:: loads(s, encoding=None, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=None, **kw)
- Deserialize *s* (a :class:`str` or :class:`unicode` instance containing a JSON
+ Deserialize *s* (a :class:`bytes` or :class:`str` instance containing a JSON
document) to a Python object.
- If *s* is a :class:`str` instance and is encoded with an ASCII based encoding
+ If *s* is a :class:`bytes` instance and is encoded with an ASCII based encoding
other than UTF-8 (e.g. latin-1), then an appropriate *encoding* name must be
specified. Encodings that are not ASCII based (such as UCS-2) are not
- allowed and should be decoded to :class:`unicode` first.
+ allowed and should be decoded to :class:`str` first.
The other arguments have the same meaning as in :func:`dump`.
import os
def info(title):
- print title
- print 'module name:', __name__
- print 'parent process:', os.getppid()
- print 'process id:', os.getpid()
+ print(title)
+ print('module name:', __name__)
+ print('parent process:', os.getppid())
+ print('process id:', os.getpid())
def f(name):
info('function f')
- print 'hello', name
+ print('hello', name)
if __name__ == '__main__':
info('main line')
return x*x
if __name__ == '__main__':
- pool = Pool(processes=4) # start 4 worker processes
+ pool = Pool(processes=4) # start 4 worker processes
result = pool.apply_async(f, [10]) # evaluate "f(10)" asynchronously
- print result.get(timeout=1) # prints "100" unless your computer is *very* slow
- print pool.map(f, range(10)) # prints "[0, 1, 4,..., 81]"
+ print(result.get(timeout=1)) # prints "100" unless your computer is *very* slow
+ print(pool.map(f, range(10))) # prints "[0, 1, 4,..., 81]"
Reference
Values can be strings, integers, floats, booleans, tuples, lists, dictionaries
(but only with string keys), :class:`Data` or :class:`datetime.datetime`
-objects. String values (including dictionary keys) may be unicode strings --
+objects. String values (including dictionary keys) has to be unicode strings --
they will be written out as UTF-8.
The ``<data>`` plist type is supported through the :class:`Data` class. This is
Generating a plist::
pl = dict(
- aString="Doodah",
- aList=["A", "B", 12, 32.1, [1, 2, 3]],
+ aString = "Doodah",
+ aList = ["A", "B", 12, 32.1, [1, 2, 3]],
aFloat = 0.1,
anInt = 728,
- aDict=dict(
- anotherString="<hello & hi there!>",
- aUnicodeValue=u'M\xe4ssig, Ma\xdf',
- aTrueValue=True,
- aFalseValue=False,
+ aDict = dict(
+ anotherString = "<hello & hi there!>",
+ aThirdString = "M\xe4ssig, Ma\xdf",
+ aTrueValue = True,
+ aFalseValue = False,
),
someData = Data("<binary gunk>"),
someMoreData = Data("<lots of binary gunk>" * 10),
aDate = datetime.datetime.fromtimestamp(time.mktime(time.gmtime())),
)
- # unicode keys are possible, but a little awkward to use:
- pl[u'\xc5benraa'] = "That was a unicode key."
writePlist(pl, fileName)
Parsing a plist::
name-value pairs::
{'notAfter': 'Feb 16 16:54:50 2013 GMT',
- 'subject': ((('countryName', u'US'),),
- (('stateOrProvinceName', u'Delaware'),),
- (('localityName', u'Wilmington'),),
- (('organizationName', u'Python Software Foundation'),),
- (('organizationalUnitName', u'SSL'),),
- (('commonName', u'somemachine.python.org'),))}
+ 'subject': ((('countryName', 'US'),),
+ (('stateOrProvinceName', 'Delaware'),),
+ (('localityName', 'Wilmington'),),
+ (('organizationName', 'Python Software Foundation'),),
+ (('organizationalUnitName', 'SSL'),),
+ (('commonName', 'somemachine.python.org'),))}
If the ``binary_form`` parameter is :const:`True`, and a
certificate was provided, this method returns the DER-encoded form
looked like this::
{'notAfter': 'May 8 23:59:59 2009 GMT',
- 'subject': ((('serialNumber', u'2497886'),),
- (('1.3.6.1.4.1.311.60.2.1.3', u'US'),),
- (('1.3.6.1.4.1.311.60.2.1.2', u'Delaware'),),
- (('countryName', u'US'),),
- (('postalCode', u'94043'),),
- (('stateOrProvinceName', u'California'),),
- (('localityName', u'Mountain View'),),
- (('streetAddress', u'487 East Middlefield Road'),),
- (('organizationName', u'VeriSign, Inc.'),),
+ 'subject': ((('serialNumber', '2497886'),),
+ (('1.3.6.1.4.1.311.60.2.1.3', 'US'),),
+ (('1.3.6.1.4.1.311.60.2.1.2', 'Delaware'),),
+ (('countryName', 'US'),),
+ (('postalCode', '94043'),),
+ (('stateOrProvinceName', 'California'),),
+ (('localityName', 'Mountain View'),),
+ (('streetAddress', '487 East Middlefield Road'),),
+ (('organizationName', 'VeriSign, Inc.'),),
(('organizationalUnitName',
- u'Production Security Services'),),
+ 'Production Security Services'),),
(('organizationalUnitName',
- u'Terms of use at www.verisign.com/rpa (c)06'),),
- (('commonName', u'www.verisign.com'),))}
+ 'Terms of use at www.verisign.com/rpa (c)06'),),
+ (('commonName', 'www.verisign.com'),))}
which is a fairly poorly-formed ``subject`` field.
...
rc = pipe.close()
if rc != None and rc % 256:
- print "There were some errors"
+ print("There were some errors")
==>
process = Popen(cmd, 'w', stdin=PIPE)
...
process.stdin.close()
if process.wait() != 0:
- print "There were some errors"
+ print("There were some errors")
Replacing functions from the :mod:`popen2` module
from tkinter import ttk
- print ttk.Style().lookup("TButton", "font")
+ print(ttk.Style().lookup("TButton", "font"))
.. method:: layout(style[, layoutspec=None])
>>> turtle.forward(100)
>>> turtle.pos()
(64.28,76.60)
- >>> print turtle.xcor()
+ >>> print(turtle.xcor())
64.2787609687
>>> turtle.home()
>>> turtle.left(60)
>>> turtle.forward(100)
- >>> print turtle.pos()
+ >>> print(turtle.pos())
(50.00,86.60)
- >>> print turtle.ycor()
+ >>> print(turtle.ycor())
86.6025403784
>>> import unicodedata
>>> unicodedata.lookup('LEFT CURLY BRACKET')
- u'{'
+ '{'
>>> unicodedata.name('/')
'SOLIDUS'
>>> unicodedata.decimal('9')
+-------+--------------------------------------------+
-.. function:: ExpandEnvironmentStrings(unicode)
+.. function:: ExpandEnvironmentStrings(str)
- Expands environment strings %NAME% in unicode string like const:`REG_EXPAND_SZ`::
+ Expands environment strings %NAME% in unicode string like :const:`REG_EXPAND_SZ`::
- >>> ExpandEnvironmentStrings(u"%windir%")
- u"C:\\Windows"
+ >>> ExpandEnvironmentStrings('%windir%')
+ 'C:\\Windows'
.. function:: FlushKey(key)