有没有办法在jupyter笔记本的循环中使用magic运行python程序?

2024-10-01 02:39:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在Mac上使用Jupyter笔记本电脑。我从github下载了一个python程序,它获取图像并对其进行转换,然后返回原始图像和他转换的图像。我试图使用这个程序在一个文件夹内的一批图像

这就是我尝试过的:

directory = r'/some/directory'
for filename in os.listdir(directory):
    if filename.endswith(".jpg"): 
        !python /location/folder/imagemodifier.py -i ('/some/directory'+filename) -iter 50 -coeff 2 -n_comp 100

我收到此错误:/bin/sh:-c:0行:意外标记“(”附近的语法错误

我也尝试过:

directory = r'/some/directory'
for filename in os.listdir(directory):
    #only use images
    if filename.endswith(".jpg"): 
        imagetotransform = ('/location/folder/'+filename)
        !python /location/folder/imagemodifier.py -i imagetotransform -iter 10 -coeff 2 -n_comp 100

我得到以下错误: AttributeError:“非类型”对象没有属性“形状”

我也试着用它做一个函数

def imagefunction(image):
    !python /location/folder/imagemodifier.py -i image -iter 10 -coeff 2 -n_comp 100    

imagefunction("image.jpg")

我得到:'NoneType'对象没有属性'shape'

到目前为止,唯一可行的方法是,我只对一个图像运行python程序,并将其路径放在那里。如下所示:

%matplotlib inline
!python /location/folder/imagemodifier.py -i 'image.jpg' -iter 500 -coeff 2 -n_comp 100



Tags: py图像image程序forlocationsomefolder