Я учусь использовать luigi, и я хотел бы запустить эту задачу, которую я написал, которая открывает файл, изменяет его и повторно сохраняет вывод:
class WindDirection(luigi.Task):
uas_filepath = luigi.parameter.Parameter()
def output(self):
return luigi.LocalTarget("testing/wdir.nc")
def run(self):
# My task
with nc.Dataset(self.uas_filepath, 'r') as uas_reader:
wdir = NCdata.wind_dir_from_component(uas_reader)
# Writing out the output
wdir.write(self.output())
Задача работает нормально, но онасохраняет файл как <luigi.local_target.LocalTarget object at 0x7f86ed64ee48>
в том же каталоге, что и задача, а не в папке testing
с именем wdir.nc
(содержимое файла такое, как должно быть).Возможно, из-за проблемы с именами, когда я повторно запускаю задачу, она создает новую копию файла вместо того, чтобы видеть, что выходной файл этой задачи уже создан.Я пробовал относительные и абсолютные пути к файлам в качестве входных данных для объекта LocalTarget
.Метод .write
, который я вызываю, нуждается в строковом вводе, который является путем к файлу, и мне интересно, если это вызывает проблемы.
Что мне нужно сделать, чтобы выходной файл был сохранен симя, которое я дал?
В случае, если важно, это команда, которую я использую для запуска задачи:
PYTHONPATH='.' luigi --module basic_luigi WindDirection --uas-filepath /aboslute/path/to/my/file.nc --local-scheduler