怎么if __name__ == "__main__":办?
# Threading example
import time, thread
def myfunction(string, sleeptime, lock, *args):
while True:
lock.acquire()
time.sleep(sleeptime)
lock.release()
time.sleep(sleeptime)
if __name__ == "__main__":
lock = thread.allocate_lock()
thread.start_new_thread(myfunction, ("Thread #: 1", 2, lock))
thread.start_new_thread(myfunction, ("Thread #: 2", 2, lock))
Run Code Online (Sandbox Code Playgroud) 交互式Python(ipython)简直太神奇了,尤其是当你在飞行中将事物拼凑在一起时...并且这样做很容易回归.
然而,似乎有趣的是具有多个ipython笔记本(ipynb文件)的用例.显然,似乎笔记本不应该与其他笔记本有关系,这是有道理的,除了我想要导入其他ipynb文件.
我看到的唯一解决方法是将我的*.ipynb文件转换为*.py文件,然后将其导入我的笔记本中.让一个文件保存在项目中的所有内容有点奇怪,特别是如果我想真正推动代码重用(这不是python的核心原则吗?).
我错过了什么吗?这不是ipython笔记本支持的用例吗?我可以使用另一种解决方案将ipynb文件导入另一个笔记本吗?我想继续使用ipynb,但它现在正在弄乱我的工作流程:(
我有一个本地(不在 Colab 中)Jupyter 笔记本,它从另一个 Jupyter 笔记本调用一个函数,它工作正常。我在这里使用了 David Rinck 的回答:从另一个 .ipynb 文件导入一个函数并使用此行导入该函数:
from ipynb.fs.full.MyFunctions import MyFunction
我已将这两个笔记本导入 Colab,当我运行主笔记本时,出现以下错误:
No module named 'ipynb.fs.full.MyFunctions'
在导入到 Colab 的过程中我错过了什么?(我!pip install ipynb也在 Colab 中运行过)