Python:如何将文件保存在其他目录中?

Inq*_*Kea 2 python filesystems

所以现在 - 我的Python程序(在UNIX环境中)可以保存文件.

fig.savefig('forcing' + str(forcing) + 'damping' + str(damping) + 'omega' + str(omega) + 'set2.png')
Run Code Online (Sandbox Code Playgroud)

如何在不切换目录的情况下将其保存在新目录中?我想将文件保存在像Pics2/forcing3damping3omega3set2.png这样的目录中.

Mar*_*ers 7

通过使用完整或相对路径.您只指定了一个没有路径的文件名,这意味着它将保存在当前目录中.

要将文件保存在Pics2目录中,相对于当前目录,请使用:

fig.savefig('Pics2/forcing' + str(forcing) + 'damping' + str(damping) + 'omega' + str(omega) + 'set2.png')
Run Code Online (Sandbox Code Playgroud)

或者更好的是,使用os.path.join()和字符串格式构造路径:

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

最好是使用绝对路径:

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)
Run Code Online (Sandbox Code Playgroud)


jdi*_*jdi 5

您可以使用完整路径加入文件名,以便将其保存在特定位置而不是当前目录中:

import os

filename = "name.png"
path = "/path/to/save/location"
fullpath = os.path.join(path, filename)
Run Code Online (Sandbox Code Playgroud)

使用os.path.join将以独立于平台的方式正确处理分隔符.