目前我正在用python做一些实验,并有一些jupyter笔记本用于评估。我用不同的参数多次运行每个实验,因此我的文件夹结构如下所示:
root
|-- .ipynb_checkpoints
|-- idea 1
| |-- .ipynb_checkpoints
| |-- run 1
| | |-- .ipynb_checkpoints
| | |-- results & evaluation
| |-- run 2
| | |-- .ipynb_checkpoints
| | ...
| ...
|-- idea 2
| |-- .ipynb_checkpoints
| ...
...
当我归档实验时,我想去掉.ipynb\u checkpoints文件夹,因为我认为它们不再是必需的了。为此我写了一个又快又脏的小剧本。你知道吗
import re
from os import walk
from shutil import rmtree
r = re.compile('(^.*\.ipynb_checkpoints$)')
dirs = []
for dirpath, _, _ in os.walk('.', topdown=True):
if r.match(dirpath):
dirs.append(dirpath)
for d in dirs:
shutil.rmtree(d)
基本上,我创建一个与所需foldername匹配的正则表达式,遍历所有子文件夹,将路径存储在dir中,然后再次循环以删除所有.ipynb\u checkpoints文件夹。 剧本写得很好。但是,我对代码不满意,尤其是两个for循环。你知道吗
因为我还在学习如何编程,我现在问自己是否有一个更为python的方法来做到这一点。任何关于如何使代码更快(尽管脚本目前只需不到一秒钟)、pythonic或look cleaner的评论都是值得赞赏的。谢谢你的帮助!你知道吗
相关问题 更多 >
编程相关推荐