每当我在 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 脚本的位置,情况也并非如此。
如果我从终端运行文件 as ipython ~/path/to/file
,数字将保存.py
文件所在的位置。
如果我在其中打开文件emacs
并使用它C-c C-c
来运行文件,则文件将保存在文件所在目录的下一级.py
。
如果我 cd 到目录然后在 中打开文件emacs
,该文件将再次保存一个级别。