0

subfolder1 というフォルダーに script.py があります。このフォルダーは、mainfolder というフォルダー内にあります。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。現在、シェルコマンドを起動した場所で直接作業している現在の相対パスでのみ作業しています。

次のようなことができます。

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

__file__モジュールの組み込み属性であり、そのモジュールのファイルシステムパスを示します。

于 2012-07-10T06:04:33.580 に答える