0

我有一个 script.py 位于名为 subfolder1 的文件夹中。该文件夹位于名为 mainfolder 的文件夹中。主文件夹内还有另一个文件夹,称为 subfolder2。我希望 script.py 在 subfolder2 中打开图像并进行一些裁剪等,但我不知道如何正确获取目录。我试过了:

import os
rel = "../subfolder2/1.bmp"
impath = os.path.abspath(rel)
im = Image.open(impath)

但是出现错误信息:

IOError: [Errno 2] No such file or directory: 'C:\\Users\\****\\Desktop\\mainfolder\\subfolder2\\1.bmp'

顺便说一句,我正在使用 Windows。

4

1 回答 1

2

如果您的目录结构如下所示:

mainfolder/
    subfolder1/
        script.py
    subfolder2/
        1.bmp

...然后你可以构造一个相对于script.py. 现在,您只使用相对于您启动 shell 命令的当前工作的路径。

你可以这样做:

import os
scriptDir = os.path.dirname(__file__)
impath = os.path.join(scriptDir, '../subfolder2/1.bmp')

__file__是模块中的内置属性,它告诉您该模块的文件系统路径。

于 2012-07-10T06:04:33.580 回答