运行 sac2xy 返回 sac2xy:无法在 osx 10.9 上执行二进制文件

运行 sac2xy 返回 sac2xy:无法在 osx 10.9 上执行二进制文件

我有一个用于绘制数据的 Python 脚本sac2xy,但是运行时出现错误sac2xy

sh: sac2xy: command not found

代码的相关部分是:

os.system("sac ./tmp/sac.m")
os.system("clear")
os.system("sac2xy ./tmp/n_"+filename[i]+".am ./tmp/n_"+filename[i]+".xy")
os.system("sac2xy ./tmp/c_"+filename[i]+".am ./tmp/c_"+filename[i]+".xy")

c_amp = []
c_f = []
n_amp = []
n_f = []
fopen = open("./tmp/c_"+filename[i]+".xy")
for line in fopen:
    c_f.append(float(line.split()[0]))
    c_amp.append(float(line.split()[1]))
fopen.close()

fopen = open("./tmp/n_"+filename[i]+".xy")
for line in fopen:
    n_f.append(float(line.split()[0]))
    n_amp.append(float(line.split()[1]))
fopen.close()

答案1

它无法找到可执行文件。转到 shell 并输入:

type sac2xy

这将给出可执行文件的路径。无论如何,指定可执行文件的完整路径名是个好主意;它可以节省查找时间,并保证您正在运行所需的可执行文件,而不是攻击者可能放在某处的其他可执行文件。

请注意,os.system现已弃用。该subprocess模块应用于新程序。

相关内容