关于python:有没有一种方法可以显示花在开发jupyter笔记本上的时间?

Is there a way to show the amount of time spent developing a Jupyter notebook?

有没有一种方法可以检查我花在开发Jupyter笔记本上的时间?

我想大概是从.ipynb被创建(因为它经常被保存)到最后一次保存的时间吧?

有些应用程序会显示文件被编辑的时间,因此类似于此。


谢谢@cardamom给我指明了正确的方向。我把这个加到一个手机上,把笔记本的名字改成了nb_的名字。

1
2
%%javascript
IPython.notebook.kernel.execute('nb_name ="' + IPython.notebook.notebook_name + '"')

然后这个进入另一个单元格,它似乎给了我答案…只需要一点格式。

1
2
3
4
5
6
7
8
9
10
11
12
13
# Get the path from
path = !echo %cd%

# Combine the path and filename
completepath = path[0] + '\' + nb_name

filecreationtime = os.path.getatime(completepath)
filecreationtime = datetime.utcfromtimestamp(filecreationtime)

now = datetime.now()
print(f'
Notebook: {nb_name}')
print(f'
At path: {path[0]}')
print(f'
Dev Time: {str(now - filecreationtime)}')

事实上,加上一个小时,似乎并不完全正确。我使用的是windows,所以我想应该是os.path.gettime。


如果您将以下内容放入一个单元格,它可能会在Windows系统上执行此操作:

1
2
3
4
5
6
7
8
import sys
import os
from datetime import datetime
completepath = sys.argv[0]
filecreationtime = os.path.getmtime(completepath)
filecreationtime = datetime.utcfromtimestamp(filecreationtime)
now = datetime.now()
str(now - filecreationtime)

我使用的是Linux系统,似乎创建日期并不像这里描述的那样是真正可访问的。

也许有一个变量可以在创建时以某种方式写入.ipynb文件中以解决这个问题。