Path: csiph.com!fu-berlin.de!uni-berlin.de!not-for-mail From: eryk sun Newsgroups: comp.lang.python Subject: Re: `exec`-based routine crashes app upon migration from 3.4.3 to python 3.5.2. Date: Tue, 2 Aug 2016 04:48:11 +0000 Lines: 14 Message-ID: References: <9c6b75e0-67ba-4495-9ec4-fde591249c36@googlegroups.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Trace: news.uni-berlin.de JH8l1bK8tPuH7aEq7luizwBCOteerz0CC58XwGqwoczw== Return-Path: X-Original-To: python-list@python.org Delivered-To: python-list@mail.python.org X-Spam-Status: OK 0.001 X-Spam-Evidence: '*H*': 1.00; '*S*': 0.00; 'none,': 0.05; 'friday,': 0.07; 'enjoys': 0.09; 'obj': 0.09; 'subject:python': 0.14; 'subject: \n ': 0.15; '2016': 0.16; 'received:io': 0.16; 'received:psf.io': 0.16; 'subject:based': 0.16; "type's": 0.16; 'wrote:': 0.16; 'skip:` 20': 0.18; 'math': 0.20; 'aug': 0.20; 'suggested': 0.20; 'meant': 0.22; 'lawrence': 0.22; 'am,': 0.23; 'appears': 0.23; 'header:In-Reply-To:1': 0.24; 'chris': 0.26; 'message-id:@mail.gmail.com': 0.27; 'skip:_ 10': 0.32; 'maybe': 0.33; 'tue,': 0.34; 'received:google.com': 0.35; 'data.': 0.36; 'to:addr:python-list': 0.36; 'why': 0.39; 'subject:from': 0.39; 'to:addr:python.org': 0.40; 'why?': 0.91 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :content-transfer-encoding; bh=UnE6NuoWCJISpw9bpZr/MzAb35ygGKe5UPFDI1nTGnE=; b=ag7qeFOkBSqVdc5RtHFz6tV4LxCivIyVy/bzORZGlTWax5LFsWOCTxIuLbHxgu/kvB zouIlWJRBlZRe/5StknhLGam/KRmzGkTxOVvOXvjedfTm2Qug496Dyfik1jgPNKW9+Pp ZWXAiARvUo/udjLf7TglZU4hBdTm90BGm6VywRdJ3ssa5cO7DzZLSUUvw/UZrKwl5sZd jc2SaNAuQY6QpXMpvbYp8Gw2b6XUIkpoWuu6OgAvYBMjBCA8zabt4wbLrfqkF8P1uiPP vFV/h754wUMV6yOSHgv9+DGGsezwweYHS+hpcmi6M76cu0xmWcqPvCNTzUWjtCGpEc6t 4bGw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:content-transfer-encoding; bh=UnE6NuoWCJISpw9bpZr/MzAb35ygGKe5UPFDI1nTGnE=; b=auQDh9MaXpmnjtb2N0qtk+fNRrU2nUpunpHozbQcG5Ao4J7bpFsP6VQeS/ahBUIhNf ML3b5SaDu/S+loy5IIYr6mP5hX7UFwDr8vG5006PcnMv0z1B7dzF8YSlIeZNYJN5+QT0 l75/z6FgJf7atFAA9F2nWJoEFHDBqOpMJEhe1XxthBnvI6NAsXHKs2M1xAE2VvxmhsN6 3hUIbDBX4hX9CaD7FQxUPY3G3OZjg3YkQokSO4J3bc49Q8AdW7H5WMkm9yJW1vRYrhU/ 1bEfRqhKLUOjDYcCKRlyo67JJUQqGNO5F0ZsVqDGRiynnGkwMprMfaZvj0LtaN5qXHQm 7zHA== X-Gm-Message-State: AEkoousYj9xF7TCJ/3c6FJhCgzyv2j9OLvk3XnawXU6LAfUfpKbsI2MSv4XulSUOyczZK8gVz8u7rV/qQaaN4w== X-Received: by 10.36.37.146 with SMTP id g140mr59233162itg.58.1470113331801; Mon, 01 Aug 2016 21:48:51 -0700 (PDT) In-Reply-To: <9c6b75e0-67ba-4495-9ec4-fde591249c36@googlegroups.com> X-BeenThere: python-list@python.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: General discussion list for the Python programming language List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Mailman-Original-Message-ID: X-Mailman-Original-References: <9c6b75e0-67ba-4495-9ec4-fde591249c36@googlegroups.com> Xref: csiph.com comp.lang.python:112203 On Tue, Aug 2, 2016 at 1:45 AM, Lawrence D=E2=80=99Oliveiro wrote: > On Friday, July 29, 2016 at 6:25:51 AM UTC+12, Enjoys Math wrote: > >> exec('obj =3D ' + objType + '(self)', None, _locals) >> obj =3D _locals['obj'] > > Why? Why not just > > obj =3D objType(self) I think you meant to use `globals()[objType](self)`, as was already suggested by Chris Angelico. The value of objType appears to be the type's name, maybe from marshaled data.