因此,我有一个带有着色器代码的文件夹,在我的主要python脚本中(在着色器文件夹之外),我有一行代码:
self.shader = self.createShader("shaders/vertex.txt", "shaders/fragment.txt")但它只是吐出了这个错误
FileNotFoundError: Errno 2没有这样的文件或目录:'shaders/vertex.txt'
发布于 2022-06-17 10:25:57
仅仅将文件放在同一个目录或子目录中是不够的。您还需要设置工作目录。着色器文件路径必须相对于当前工作目录。工作目录可能与python脚本的目录不同。
__file__可以检索python文件的名称和相对路径。所以到python脚本的绝对路径是os.path.abspath(__file__))。可以用os.chdir(path)更改当前的工作目录。
在代码开始时复制以下内容,将工作目录设置为与脚本目录相同的目录:
import os
os.chdir(os.path.dirname(os.path.abspath(__file__)))https://stackoverflow.com/questions/72657873
复制相似问题