У меня проблема с коротким скриптом, было бы здорово, если бы вы могли взглянуть!
import os
import subprocess
root = "/Users/software/fmtomov1.0/remaker_lastplot/source_relocation/observed_arrivals_loc3d"
def loop_loc3d(file_in):
"""Loops loc3d over the source files"""
return subprocess.call (['loc3d'], shell=True)
def relocation ():
for subdir, dirs, files in os.walk(root):
for file in files:
file_in = open(os.path.join(subdir, file), 'r')
return loop_loc3d(file_in)
Я думаю, что скрипт довольно прост для понимания, он очень прост.Однако я не получаю желаемого результата.Короче говоря, я просто хочу, чтобы loc3d работал со всем содержимым файлов, присутствующим в каталоге наблюдаемых_arrivals_loc3d, что означает, что мне нужно открыть все файлы, и это то, что я на самом деле сделал.Фактически, если я попытаюсь «напечатать файлы» после:
for subdir, dirs, files in os.walk(root)
, я получу имя каждого файла.Кроме того, если я попытаюсь выполнить команду «print file_in» после
file_in = open(os.path.join(subdir, file), 'r')
, я получу примерно такую строку для каждого файла: подпроцесс
<open file '/Users/software/fmtomov1.0/remaker_lastplot/source_relocation/observed_arrivals_loc3d/EVENT2580', mode 'r' at 0x78fe38>
был протестирован отдельно только для одного файла, и онработает.
В целом я не получаю ошибок, только -11, что для меня абсолютно ничего не значит.Вывод из loc3d должен быть совершенно другим.
Так выглядит ли вам код нормально?Я что-то пропустил?Любое предложение?
Спасибо за вашу помощь!