

def terminalWidth(string, encoding='utf-8'):
if str in inspect.getmro(string.__class__):
string = string.decode(encoding)
charWidthList = [2 if unicodedata.east_asian_width(i) in ('W', 'F') else 1
for i in string ]
totalwidth = sum(charWidthList)
widecharnum = totalwidth - len(charWidthList)
return totalwidth , widecharnum