簡體   English   中英

任務計划程序中的tempfile.NamedTemporaryFile崩潰

[英]tempfile.NamedTemporaryFile crashing in Task Scheduler

我有一個Python腳本,該腳本從SFTP站點下載txt文件,更改標題,寫入新的文本文件,然后將其轉換為CSV。 該腳本可以在IDLE中完美運行。 我試圖將其設置為Windows Task Scheduler中的日常任務,並且由於以下錯誤而失敗: IOError: [Errno 17] No usable temporary file name found

這是代碼的相關部分。 headerChangeDict在此部分的上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)

啊,我明白了。 我需要更改dir ='。 到指定的臨時路徑,此腳本在其中寫入文本和csv文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM