Запуск 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 ответ

Он не может найти исполняемый файл. Перейти к оболочке и введите:

type sac2xy

Это даст путь к исполняемому файлу. В любом случае, желательно указывать полный путь к исполняемому файлу; это экономит время поиска и гарантирует, что вы запускаете нужный вам исполняемый файл, а не какой-либо другой исполняемый файл, который злоумышленник мог где-то разместить.

Обратите внимание, что os.system сейчас устарела. subprocess Модуль следует использовать для новых программ.

Другие вопросы по тегам