我想附加文件,但是Jupiter笔记本只是说文件正在运行,但没有提供错误代码,也从不提供输出。当我尝试停止笔记本电脑时,它只是崩溃了。我的笔记本电脑或功能有问题吗?
我已经在非常简单的代码上尝试过我的代码,例如:
x = [1, 2, 3, 4, 5]
for i in x:
x.append(i)
print(x)
...但是从不给出输出。
这是我的实际代码:
jpgfiles = [f for f in glob.glob(path + "**/*.jpg", recursive=True)]
pngfiles = [f for f in glob.glob(path + "**/*.png", recursive=True)]
for j in jpgfiles:
jpgfiles.append(j)
#print(jpgfiles)
for p in pngfiles:
pngfiles.append(p)
#print(pngfiles)
all_files = jpg.files + png.files
#print(all_files)
我想知道这是否是代码问题的原因是,因为我不知道是否在某个无限循环中捕获了文件?应当指出,真正复杂的代码的其他部分仍然可以使用!只是当我使用此功能时,它永远不会停止运行...
如果您要添加
print(x)
对于您的for循环,您会看到创建了一个无限循环。您在循环遍历数组本身时增加了正在处理的数组。这通常是非常糟糕的做法。您应该克隆该数组并将第一个数组中的元素添加到第二个数组中,同时循环遍历第一个。
您可以像这样合并两个列表:
jpgfiles = [f for f in glob.glob(path + "**/*.jpg", recursive=True)]
pngfiles = [f for f in glob.glob(path + "**/*.png", recursive=True)]
all_files = [*jpgfiles, *pngfiles]
print(all_files)