Сбой tempfile.NamedTevenFile в планировщике заданий - PullRequest
0 голосов
/ 04 декабря 2018

У меня есть скрипт Python, который загружает текстовый файл с сайта SFTP, меняет заголовки, записывает новый текстовый файл, а затем преобразует его в CSV.Этот скрипт отлично работает в режиме IDLE.Я пытаюсь настроить это как ежедневное задание в планировщике заданий Windows, и оно завершается с ошибкой: IOError: [Errno 17] No usable temporary file name found.

Вот соответствующий раздел кода.headerChangeDict определено над этим разделом.Ошибка появляется с первой строки здесь:

with tempfile.NamedTemporaryFile(dir='.', delete=False) as tmp,\
    open(spaces_txt_local_filepath, 'rb') as f:
    r = csv.reader(f, delimiter = '\t')
    w = csv.writer(tmp, delimiter = '\t', quoting=csv.QUOTE_NONNUMERIC)
    header = next(r)
    for h in header:
        newHeader = re.sub("\s+", "_", h.strip())

        for headerChangeStr in headerChangeDict.keys():
            if newHeader == headerChangeStr:
                newHeader = headerChangeStr.replace(headerChangeStr,headerChangeDict[headerChangeStr])

        newHeaderList.append(newHeader)

    w.writerow(newHeaderList)

    for row in r:
        w.writerow(row)

os.rename(tmp.name, new_text_filepath)

1 Ответ

0 голосов
/ 04 декабря 2018

Ах, я понял.Мне нужно было изменить dir = '.'к указанному временному пути, где этот сценарий записывает текстовые и CSV-файлы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...