Rocksolid Light

Welcome to RetroBBS

mail  files  register  newsreader  groups  login

Message-ID:  

There are two kinds of egotists: 1) Those who admit it 2) The rest of us


devel / comp.lang.python / First two bytes of 'stdout' are lost

SubjectAuthor
o First two bytes of 'stdout' are lostOlivier B.

1
First two bytes of 'stdout' are lost

<mailman.96.1712839356.3468.python-list@python.org>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=29845&group=comp.lang.python#29845

  copy link   Newsgroups: comp.lang.python
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!fu-berlin.de!uni-berlin.de!not-for-mail
From: perso.olivier.barthelemy@gmail.com (Olivier B.)
Newsgroups: comp.lang.python
Subject: First two bytes of 'stdout' are lost
Date: Thu, 11 Apr 2024 14:42:22 +0200
Lines: 32
Message-ID: <mailman.96.1712839356.3468.python-list@python.org>
References: <CA+cSArh=U-H6nW7nYBBD5v=ZUAvGpE1M_nB9BUoYzvca9XsKfA@mail.gmail.com>
Mime-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
X-Trace: news.uni-berlin.de TxI36t81eE5Qw2XRVYejQQh3CpOkF93lC6f60XrRioXQ==
Cancel-Lock: sha1:I8Vm99Z3gRVRHsGFC2TdydqIR4s= sha256:yihoLxfJ5utHW6z++e1Xux3Q/d7x6IFPW4AD9wmZnoI=
Return-Path: <perso.olivier.barthelemy@gmail.com>
X-Original-To: python-list@python.org
Delivered-To: python-list@mail.python.org
Authentication-Results: mail.python.org; dkim=pass
reason="2048-bit key; unprotected key"
header.d=gmail.com header.i=@gmail.com header.b=CWULdD7/;
dkim-adsp=pass; dkim-atps=neutral
X-Spam-Status: OK 0.010
X-Spam-Evidence: '*H*': 0.98; '*S*': 0.00; 'looks': 0.02; 'this:':
0.03; 'hopefully': 0.07; 'string': 0.07; 'subject:two': 0.09;
'import': 0.15; 'api.': 0.16; 'c++': 0.16; 'changed:': 0.16;
'characters.': 0.16; 'manipulating': 0.16; 'print(': 0.16;
'stdout': 0.16; 'stdout.': 0.16; 'variable,': 0.16; 'python':
0.16; 'api': 0.17; 'instead': 0.17; 'to:addr:python-list': 0.20;
'written': 0.22; 'code': 0.23; 'run': 0.23; 'to:name:python-
list@python.org': 0.24; 'seems': 0.26; 'ideas': 0.28; 'wrong':
0.28; 'extract': 0.32; 'point,': 0.32; 'message-
id:@mail.gmail.com': 0.32; 'but': 0.32; 'someone': 0.34;
'received:google.com': 0.34; 'running': 0.34; 'trying': 0.35;
'from:addr:gmail.com': 0.35; 'using': 0.37; 'two': 0.39; 'quite':
0.39; 'this,': 0.39; 'use': 0.39; 'something': 0.40; 'point.':
0.62; 'limited': 0.62; 'now,': 0.67; 'worked': 0.67; 'right':
0.68; 'exactly': 0.68; 'compared': 0.71; 'content': 0.72;
'capture': 0.84; 'characters': 0.84; 'clue': 0.84; 'ruled': 0.84;
'subject:First': 0.84
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1712839354; x=1713444154; darn=python.org;
h=to:subject:message-id:date:from:mime-version:from:to:cc:subject
:date:message-id:reply-to;
bh=/f4s1P43tAXtAk5psDniinoxt/tvj6aowywwsrVhqfE=;
b=CWULdD7/UbKokH4+927e0QU0irVy+YnoGgokHMyNbXsrNrRzJj/qlNjpsTQko1F1vN
gc2sp+/dt+QYe6FgWR7MbOyJShsB6w7H4kDKL2MPYBGPRRNn5Rxa9TNqPwCLKski4arb
yaFRrssY7mCeZ7VKZhbXy126ARY+V5Wjxa8rX6XEt632wIAYCA/vw/J/9E6BbhHusGot
sfPl5uWHgglIPaD+xn9JfkUZwvbxG9GFIvEFHZ/iLDY13NPjC6YFbkdbO0D+JgLgqr14
wnLSh/U2SyiRerw5Kf/jvLDv4CKAyyEVSiscv0BD6DtTQ4UeUUKXX9wIc4D6ua2W76N3
zfgA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1712839354; x=1713444154;
h=to:subject:message-id:date:from:mime-version:x-gm-message-state
:from:to:cc:subject:date:message-id:reply-to;
bh=/f4s1P43tAXtAk5psDniinoxt/tvj6aowywwsrVhqfE=;
b=wFDHhOuXPvnUhVVYLnP4OLAArzZjTc0wHKZrNsNSJm7cSPPbsmKkt/DEFgsypVRKbC
xM1yq2mkQL7EjtiYRKrF7HGbb1YRMRE6XWpPPJOWXiKexQO8h3lYT8cha89kvd2nfHOF
jJB5WL1om4LNxS3J+Olh4o+Aq5ig8WXRV7wA0Byr6CSlQ1zhV3dfNs2MtgG1Yht85hPG
7MQ4qmZumXS7IlDssfyRZo3/DY96GLccG9O5QSM/alTgqBcycx5EOUXSsTlU62kZixCL
il+JR0Wd9A/kcSO4mrjPNINVww3du167NhC/6QmqryHO4f+QoXWxo/xjjdFgkc1r6hHb
BtEw==
X-Gm-Message-State: AOJu0YzUHg2hr2OOsXMOxwin46TFL7ORtFlCR3eyL/xsKVym05uJa6de
CegkngrEYmqTbPLnD1gNSC3olJ/KSvKH0X3CCJqeenzmU5JwalYxq03Ke1vmgcelzk3dkA0xBBr
L4p3tXGQmrYN/+i21S/shaNnoL/4RnxBsUuc=
X-Google-Smtp-Source: AGHT+IGq8FKKkVdDzRqLJBS/PxC1TH+n60JUV0nj4BHmzidhroNSjbIw8iExieMCv51p360buTdyp7Oxsu78lfc8Ay4=
X-Received: by 2002:a17:906:d93:b0:a4e:299f:7f4f with SMTP id
m19-20020a1709060d9300b00a4e299f7f4fmr3158704eji.48.1712839353705; Thu, 11
Apr 2024 05:42:33 -0700 (PDT)
X-BeenThere: python-list@python.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: General discussion list for the Python programming language
<python-list.python.org>
List-Unsubscribe: <https://mail.python.org/mailman/options/python-list>,
<mailto:python-list-request@python.org?subject=unsubscribe>
List-Archive: <https://mail.python.org/pipermail/python-list/>
List-Post: <mailto:python-list@python.org>
List-Help: <mailto:python-list-request@python.org?subject=help>
List-Subscribe: <https://mail.python.org/mailman/listinfo/python-list>,
<mailto:python-list-request@python.org?subject=subscribe>
X-Mailman-Original-Message-ID: <CA+cSArh=U-H6nW7nYBBD5v=ZUAvGpE1M_nB9BUoYzvca9XsKfA@mail.gmail.com>
 by: Olivier B. - Thu, 11 Apr 2024 12:42 UTC

I am trying to use StringIO to capture stdout, in code that looks like this:

import sys
from io import StringIO
old_stdout = sys.stdout
sys.stdout = mystdout = StringIO()
print( "patate")
mystdout.seek(0)
sys.stdout = old_stdout
print(mystdout.read())

Well, it is not exactly like this, since this works properly

This code is actually run from C++ using the C Python API.
This worked quite well, so the code was right at some point. But now,
two things changed:
- Now using python 3.11.7 instead of 3.7.12
- Now using only the python limited C API

And it seems that now, mystdout.read() always misses the first two
characters that have been written to stdout.

My first ideas was something related to the BOM improperly truncated
at some point, but i am manipulating UTF-8, so the bom would be 3
bytes, not 2.

I ruled out wrong C++ code to extract the string from the python
variable, since running a python print of the content of mystdout in
the real stdout also misses the two first characters.

Hopefully someone has a clue on what would have changed in Python for
this to stop working compared to python 3.7?

1
server_pubkey.txt

rocksolid light 0.9.81
clearnet tor