Python:为什么Python会停止在当前工作目录中保存

每当我将文件保存在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,则该文件再次将向下保存一级。


紫衣仙女
浏览 156回答 2
2回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python