On Sat, 28 Jan 2017 07:39 pm, Peter Otten wrote: > One potential advantage of shutil.get_terminal_size() is that you can > affect it with an environment variable: > > $ python3 test_gts.py | cat > shutil: os.terminal_size(columns=999, lines=999) > os: os.terminal_size(columns=72, lines=48) > > $ COLUMNS=123 python3 test_gts.py | cat > shutil: os.terminal_size(columns=123, lines=999) > os: os.terminal_size(columns=72, lines=48)
Unless your terminal *actually is* 123 columns wide, I don't see that as an advantage. I see that as "Hey look, we can fool shutil into returning absolute garbage instead of the terminal size!" I can already read environment variables using os.getenv() and os.environ, so this gives me no new functionality. > I have the line > > export LINES COLUMNS > > in my .bashrc, so by default I see the physical size: > > $ export COLUMNS LINES > $ python3 test_gts.py | cat > shutil: os.terminal_size(columns=72, lines=48) > os: os.terminal_size(columns=72, lines=48) But what happens if you resize the terminal while the process is running? Again, the os.get_terminal_size() correctly returns the updated size, while shutil.get_terminal_size() doesn't. -- Steve “Cheer up,” they said, “things could be worse.” So I cheered up, and sure enough, things got worse. -- https://mail.python.org/mailman/listinfo/python-list