我有以下代码:

import os
import trimesh

# Core settings
rootdir = 'path'
extension = ".zip"


for root, dirs, files in os.walk(rootdir):
    if not root.endswith(".zip"):
        for file in files:
            if file.endswith(".stl"):
                mesh = trimesh.load(file)


我得到以下错误:

ValueError: File object passed as string that is not a file!


但是,当我一一打开文件时,它可以工作。可能是什么原因 ?

最佳答案

这是因为file是文件名,而不是完整的文件路径

通过对包含目录使用os.path.join来解决此问题:

mesh = trimesh.load(os.path.join(root,file))

关于python - 遍历目录路径并使用trimesh打开它们,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44475130/

10-12 18:51