我有一个Python脚本,它从SFTP站点下载一个txt文件,更改标题,编写一个新的文本文件,然后将其转换为CSV。这个脚本可以在IDLE中完美运行。我试图在Windows task Scheduler中将其设置为日常任务,但失败了,错误为: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)
发布于 2018-12-04 08:15:48
啊,我知道了。我需要更改dir=‘’设置为此脚本写入文本和csv文件的指定临时路径。
https://stackoverflow.com/questions/53601864
复制相似问题