每当我将文件保存在Python中时,它都会保存在当前的工作目录中。由于某些未知原因,Python已停止保存pwd。我的图形现在被保存在它下面的目录中。因此,/Documents/.../OrbitalMechanics/OrbitalNotes现在不保存它们,而是将它们保存在中/Documents/.../OrbitalMechanics。我的操作系统是Ubuntu 13.04,我正在使用Emacs,并从终端编写程序。当我调用.py文件时,路径为emacs ~/Documents/.../OrbitalMechanics/OrbitalNotes/stumpff.py。因此,我在正确的目录中。
什么会导致此问题?保存身材时,我没有做任何正常的事情。
发生这种情况的程序如下:
#!/usr/bin/env ipython
# This program plots the Stumpff functions C(z) and S(z)
import numpy as np
import pylab
from matplotlib.ticker import MaxNLocator
def C(z):
if z > 0:
return (1 - np.cos(z ** 0.5)) / z
elif z < 0:
return (np.cosh(np.sqrt(-z)) - 1) / -z
return 0.5
def S(z):
if z > 0:
return (np.sqrt(z) - np.sin(z ** 0.5)) / np.sqrt(z) ** 3
elif z < 0:
return (np.sinh(np.sqrt(-z)) - np.sqrt(-z)) / np.sqrt(-z) ** 3
return 1.0 / 6.0
vC = np.vectorize(C)
vS = np.vectorize(S)
z = np.linspace(-50.0, 500.0, 500000.0)
y = vC(z)
y2 = vS(z)
fig = pylab.figure()
ax = fig.add_subplot(111)
ax.plot(z, y, 'r')
ax.plot(z, y2, 'b')
pylab.legend(('$C(z)$', '$S(z)$'), loc = 0)
pylab.xlim((-50, 0))
pylab.ylim((0, 15))
pylab.xlabel('$z$')
pylab.gca().xaxis.set_major_locator(MaxNLocator(prune = 'lower'))
pylab.savefig('stumpffneg50to0.eps', format = 'eps')
以前,当我保存图形时,该图形将保存在文件所在的目录中,.py
即使我不在该目录中也是如此。也就是说,我可以在主目录中,在中运行文件emacs
,该文件将是我想要保存的位置。现在,即使过去总是将文件保存在python脚本的位置,情况也并非如此。
如果我从终端运行文件ipython ~/path/to/file
,则数字将保存.py
文件所在的位置。
如果我打开文件emacs
并用于C-c C-c
运行文件,则文件将从.py
文件所在的目录向下保存一级。
如果我cd到该目录,然后在中打开文件emacs
,则该文件再次将向下保存一级。
相关分类