Bil*_*ack 11 python linux shell terminal jupyter-notebook
我知道如何在 Jupyter 中运行命令行:使用 ! 例如,2.jpg在 Python 上运行一个图像文件process.py
! python classify.py --filename /Users/images/2.jpg
Run Code Online (Sandbox Code Playgroud)
问题是,如何在 Jupyter 单元中以迭代方式(idx)处理文件夹的所有文件,如下所示:
for idx in range(10):
! python process.py --filename /Users/images/idx.jpg
Run Code Online (Sandbox Code Playgroud)
谢谢
PS:我试过path,没有用:
for i in range(1,10):
cur_path = '/Users/images/'+str(i)+'.jpg'
path = os.path.expanduser(cur_path)
print(i,path)
! python process.py --filename path
Run Code Online (Sandbox Code Playgroud)
不需要子流程或格式。像这样简单的事情:
for idx in range(10):
!python process.py --filename /Users/images/{idx}.jpg
Run Code Online (Sandbox Code Playgroud)
为我工作。
一个可能的黑客解决方案是使用eval并让 bash 执行一个字符串。
for idx in range(10):
!eval {"python process.py --filename /Users/images/{image}.jpg".format(image=idx)}
Run Code Online (Sandbox Code Playgroud)