Ширина ячейки jupyter может быть получена из стиля записной книжки. Вы можете использовать инструменты разработки браузера, чтобы проверить html, или вы можете использовать следующий код в ячейке записной книжки, чтобы получить ширину строки ячейки и затем вычислить количество символов, которое она будет содержать.
следующее будет:
- Используйте
%%html
magi c для создания холста и js скрипта. - найдите элемент
div.CodeMirror-lines
и получите его шрифт и ширину. - установите для холста тот же шрифт, что и для элемента строки ячейки.
- используйте
measureText
для измерения длины одного символа. - предупреждает вас о количестве символов который будет соответствовать ширине линии.
%%html
<canvas id="canvas"></canvas>
<script>
// retrieve the width and font
var el = document.querySelector("div.CodeMirror-lines")
var ff = window.getComputedStyle(el, null).getPropertyValue('font');
var widthpxl = el.clientWidth
//set up canvas to measure text width
var can = document.getElementById('canvas');
var ctx = can.getContext('2d');
ctx.font = ff;
//measure one char of text and compute num char in one line
var txt = ctx.measureText('A');
alert(Math.floor(widthpxl/txt.width))
//EDIT: to populate python variable with the output:
IPython.notebook.kernel.execute("ncols=" + Math.floor(widthpxl/txt.width));
</script>