4

だから今-私のPythonプログラム(UNIX環境で)はファイルを保存することができます。

fig.savefig('forcing' + str(forcing) + 'damping' + str(damping) + 'omega' + str(omega) + 'set2.png')

ディレクトリを切り替えずに新しいディレクトリに保存するにはどうすればよいですか?Pics2/forcing3damping3omega3set2.pngのようなディレクトリにファイルを保存したいと思います。

4

3 に答える 3

8

フルパスまたは相対パスを使用する。パスを指定せずにファイル名のみを指定しているため、現在のディレクトリに保存されます。

Pics2現在のディレクトリからの相対的なディレクトリにファイルを保存するには、次を使用します。

fig.savefig('Pics2/forcing' + str(forcing) + 'damping' + str(damping) + 'omega' + str(omega) + 'set2.png')

またはさらに良いことにos.path.join()、文字列のフォーマットを使用してパスを作成します。

fig.savefig(os.path.join(('Pics2', 'forcing{0}damping{1}omega{2}set2.png'.format(forcing, damping, omega)))

絶対パスを使用するのが最善です。

path = '/Some/path/to/Pics2'
filename = 'forcing{0}damping{1}omega{2}set2.png'.format(forcing, damping, omega)
filename = os.path.join(path, filename)
fig.savefig(filename)
于 2012-12-11T17:53:53.757 に答える
6

ファイル名をフルパスで結合して、現在のディレクトリではなく特定の場所に保存することができます。

import os

filename = "name.png"
path = "/path/to/save/location"
fullpath = os.path.join(path, filename)

を使用os.path.joinすると、プラットフォームに依存しない方法でセパレータが適切に処理されます。

于 2012-12-11T17:55:18.867 に答える
0

私はあなたがpylabmatplotlib)で働いていると仮定しています。

fnameの引数としてフルパスを使用できますsavefig(fname, ...)。これは、のような絶対パス/path/to/your/fig.pngまたはのような相対パスのいずれかrelative/path/to/fig.pngです。ファイルを保存するためのディレクトリがすでに存在することを確認する必要があります。最初に作成するために使用しない場合os.makedirs

import os

... # create the fig

dir = 'path/to/Pics2'
if not os.path.isdir(dir): os.makedirs(dir)
fname = 'forcing' + str(forcing) + 'damping' + str(damping) + 'omega' + str(omega) + 'set2.png'
fig.savefig(os.path.join(dir, fname))
于 2012-12-11T18:15:45.830 に答える