2021/3/7 补充
因为对复制的需求、坐姿的调整、尽可能的少用鼠标,所以目前切换到qt使用了,虽然选择还不完善,至少能用:
Ctrl - Shift [Home|方向键|a]
——————————————
此篇未纯IPython使用技巧,而非Jupyter,因为我喜欢简单,了解IPython的快捷操作,能弥补相对Jupyter的不足。虽然我挺推荐Jupyter QtConsle,但是玩转IPython快捷操作后,搭配ConEmu,更爽!
快捷键
Ctrl-o
输入多行语句块
timeit整理代码参考
import win32clipboard,win32con,re
'对%%timeit进行清洗'
def gettext():
'获取剪贴板的内容'
win32clipboard.OpenClipboard()
t=win32clipboard.GetClipboardData(win32con.CF_UNICODETEXT)
win32clipboard.CloseClipboard()
return t
def settext(s):
'写入剪贴板内容'
win32clipboard.OpenClipboard()
win32clipboard.EmptyClipboard()
win32clipboard.SetClipboardData(win32con.CF_UNICODETEXT,s)
win32clipboard.CloseClipboard()
def times(s):
'时间数值化,排序用'
s1,s2=s.split()
f=float(s1)
if s2=='ns':
return f
elif s2=='µs':
return f*1000
elif s2=='ms':
return f*1000000
elif s2=='s':
return f*1000000000
def short():
'精简处理模式'
s=gettext()
# l=re.findall('(?<=%%timeit\n).*(?=\n)|.*(?= ± \d)',s)
# l=re.findall('(?<=%%timeit\r\n ...: ).*(?=\r\n)|.*(?= ± \d)',s)
l=re.findall('(?<=%%timeit\r\n ...: ).*(?=\r\n)|(?<=\n).*(?= ± \d)',s)
d={}
for i in range(0,len(l),2):
d[times(l[i+1])]=l[i]+' # '+l[i+1]
l=[]
for i in sorted(d):
l.append(d[i])
settext('\n'.join(l))