これ、自分で前に image オブジェクトのファイル名やファイルのパス名を取得したコードを書いていたのに、どうしたか忘れたので、備忘録として記録します。
実は、Gimp のレファレンスマニュアルを見て、Gimp.Image の項目を見ても、ファイルのパス名を直接取得するようなメソッドが書かれていません。
結局、Gimp.Image.get_file() メソッドで、ファイルを取得して、さらに、Gio.File.get_path() メソッドで取得するのでした。Gio.File は、Gtk+ 内でファイルを扱うクラスです。具体的には例えば以下のようなコードを書きます。
filePathName = image.get_file().get_path()
このとき、上の image はデフォルトの Gimp.Image クラスのインスタンス名です。こうすると、仮に、画像がピクチャディレクトリにあるとすれば、filePathName には、例えば、以下のようなパス名が取得されます。
/home/username/Pictures/test.xcf
C:\Users\username\Pictures\test.xcf
ここから、個別のファイル名などを切り出すには Python の os.path ライブラリにあるメソッドを使います。
ファイル名の切り出し
basename = os.path.basename(filePathName)
basename > text.xcf
ファイルの属するパス名の切り出し
dirname = os.path.dirname(filePathName)
dirname > /home/username/Pictures/
パス名とファイル名の切り出し
dirname, filename = os.path.split(filePathName)
dirname > /home/username/Pictures/
filename > test.xcf
ファイル (のパス) 名と拡張子の切り出し
pathname, extname = os.path.splitext(filePathName)
pathname > /home/username/Pictures/test
extname > .xcf
pathname, extname = os.path.splitext("test.xcf")
pathname > test
extname > .xcf