f-строка позволяет использовать очень компактное выражение для печати объектов str с таким интервалом:
a = "Hello"
print(f'{a=:>20}')
a= Hello
Есть ли способ сделать то же самое для других объектов:
from pathlib import Path
b=Path.cwd()
print(f'{b=:>20}')
Traceback (most recent call last):
File "/usr/lib/python3.10/idlelib/run.py", line 578, in runcode
exec(code, self.locals)
File "
", line 1, in
TypeError: unsupported format string passed to PosixPath.__format__
Альтернатива:
print(f'b={str(b):>20}')
b= /home/user
Но этот метод теряет информацию об объекте, которая отображается при этом:
print(f'{b=}')
b=PosixPath('/home/user')
Желаемый результат — печать
b= PosixPath('/home/user')
Несколько напечатанных операторов должны отображать что-то вроде:
self.project= PosixPath('/home/user/project')
self.project_a= PosixPath('/home/user/project/project')
self.longer= PosixPath('/home/user/project/project/icons/project/pic.png')
self.PIPFILELOCK= PosixPath('/home/user/project/Pipfile.lock')
self.VIRTUALENV= PosixPath('/home/user/.local/share/virtualenvs/project-mKDFEK')
Подробнее здесь: https://stackoverflow.com/questions/785 ... h-space-fo