On Sat, 11 Feb 2023 at 07:36, Python <pyt...@bladeshadow.org> wrote: > If it's the case that you simply want to know the length of the string > that will be printed, you can, rather than expecting the I/O function > to tell that to you, figure it out for yourself ahead of time, e.g. > instead of: > > username = "John Smith" > job = "Python programmer" > > # this doesn't work as desired > len = print(f"{username} has occupation {job}.") > print(len) > ... > > You would do this instead: > > message = f"{username} has the occupation {job}." > message_length = len(message) > print(message) > print(message_length) > ... >
It's worth noting WHY output functions often return a byte count. It's primarily for use with nonblocking I/O, with something like this: buffer = b".............." buffer = buffer[os.write(fd, buffer):] It's extremely important to be able to do this sort of thing, but not with the print function, which has a quite different job. ChrisA -- https://mail.python.org/mailman/listinfo/python-list