所以现在 - 我的 Python 程序(在 UNIX 环境中)可以保存文件。
fig.savefig('forcing' + str(forcing) + 'damping' + str(damping) + 'omega' + str(omega) + 'set2.png')
如何在不切换目录的情况下将其保存在新目录中?我想将文件保存在 Pics2/forcing3damping3omega3set2.png 之类的目录中。
所以现在 - 我的 Python 程序(在 UNIX 环境中)可以保存文件。
fig.savefig('forcing' + str(forcing) + 'damping' + str(damping) + 'omega' + str(omega) + 'set2.png')
如何在不切换目录的情况下将其保存在新目录中?我想将文件保存在 Pics2/forcing3damping3omega3set2.png 之类的目录中。
通过使用完整或相对路径。您只指定一个文件名,没有路径,这意味着它将保存在当前目录中。
要将文件保存在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)
您可以使用完整路径加入文件名,以便将其保存在特定位置而不是当前目录中:
import os
filename = "name.png"
path = "/path/to/save/location"
fullpath = os.path.join(path, filename)
Usingos.path.join
将以独立于平台的方式正确处理分隔符。
我假设您正在使用pylab
( matplotlib
)。
您可以使用完整路径作为 的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))