Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.python > #89711
| From | Peter Otten <__peter__@web.de> |
|---|---|
| Subject | Re: Rewriting to Python 3 |
| Date | 2015-05-01 10:09 +0200 |
| Organization | None |
| References | <87egn0rcc1.fsf@Equus.decebal.nl> |
| Newsgroups | comp.lang.python |
| Message-ID | <mailman.3.1430467780.3347.python-list@python.org> (permalink) |
Cecil Westerhof wrote:
> On my system I have:
> PARSER_RE_STR = '/(%s)=' % '|'.join(DN_LUT.keys() + DN_LUT.values())
> in:
> /usr/lib/python3.4/site-
packages/ndg/httpsclient/ssl_peer_verification.py
>
> In Python 3 that gives:
> TypeError: unsupported operand type(s) for +: 'dict_keys' and
> 'dict_values'
>
> How should I rewrite this?
There's a tool called 2to3 -- it doesn't produce perfect code but it can
cope with the mechanical changes:
$ cat demo.py
d = dict("aA bB cC".split())
try:
print d.keys() + d.values()
except Exception, e:
print e
$ 2to3 -w demo.py
[...]
$ cat demo.py
d = dict("aA bB cC".split())
try:
print(list(d.keys()) + list(d.values()))
except Exception as e:
print(e)
$ python3 demo.py
['c', 'a', 'b', 'C', 'A', 'B']
$
Back to comp.lang.python | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Rewriting to Python 3 Cecil Westerhof <Cecil@decebal.nl> - 2015-05-01 09:22 +0200
Re: Rewriting to Python 3 Ben Finney <ben+python@benfinney.id.au> - 2015-05-01 17:56 +1000
Re: Rewriting to Python 3 Peter Otten <__peter__@web.de> - 2015-05-01 10:09 +0200
Re: Rewriting to Python 3 Chris Angelico <rosuav@gmail.com> - 2015-05-01 18:13 +1000
Re: Rewriting to Python 3 Mark Lawrence <breamoreboy@yahoo.co.uk> - 2015-05-01 09:10 +0100
Re: Rewriting to Python 3 Cecil Westerhof <Cecil@decebal.nl> - 2015-05-01 16:41 +0200
Re: Rewriting to Python 3 Cecil Westerhof <Cecil@decebal.nl> - 2015-05-01 16:52 +0200
csiph-web