小编Sou*_*ter的帖子

从不同的工作目录运行Python脚本

我有这个程序 Namechange.py ,它可以更改文件的名称(总是削减一些无用的结尾)。一切工作正常,但我在很多不同的目录中经常使用这个文件,当我想更改某些内容时,这很麻烦。我正在搜索的是一个 python 脚本,它让我可以在我选择的目录中执行该脚本。

我的第一个想法是运行另一个脚本,将 Namechange.py 复制到所需的目录中,然后在那里执行它,并在一切完成后将其删除。复制部分有效。到目前为止,我尝试使用符号链接(它只是执行工作目录中的脚本:D)以及子进程模块,它表示当我使用时没有这样的目录:

subprocess.call(["cd", newpath])

newpath 是我要使用脚本的目录的绝对路径。

出现错误 OSError: [Errno 2] 没有这样的文件或目录。

如果有人有一种优雅的方式来实现这一目标,我会很高兴。

谢谢,再见

python subprocess

4
推荐指数
1
解决办法
1万
查看次数

如何创建彩色球体

我有一个数据集,它将 phi 和 theta 的元组映射到代表信号强度的值。我想将它们绘制在球体上。我只是按照 matplotlib 的演示进行操作,并根据我的用例调整了代码。

from mpl_toolkits.mplot3d import Axes3D
from matplotlib import cm
import matplotlib.pyplot as plt
import numpy as np

fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')

u = phi
v = theta
vals =vals/vals.max()
Map = cm.coolwarm
facecolors = Map(vals[:])

x = 10 * np.outer(np.cos(u), np.sin(v))

y = 10 * np.outer(np.sin(u), np.sin(v))

z = 10 * np.outer(np.ones(np.size(u)), np.cos(v))

ax.plot_surface(x, y, z, rstride=1, cstride=1, cmap=cm.coolwarm,
                       linewidth=0, antialiased=False, facecolors=facecolors)

plt.show()
Run Code Online (Sandbox Code Playgroud)

这会生成一条错误消息 IndexError: index 4 is out ofbounds for …

python matplotlib mplot3d matplotlib-3d

0
推荐指数
1
解决办法
5149
查看次数

标签 统计

python ×2

matplotlib ×1

matplotlib-3d ×1

mplot3d ×1

subprocess ×1