注释
已在 WIn10 上确认。 |
根据 tempfile 文档,它会在默认目录中打开一个文件。您是否尝试过设置 TMP 或 TMPDIR、TMP 或 TEMP 系统环境变量,以及拥有一个用户可写的 C:\TEMP 或 C:\TMP 目录? |
with tempfile.NamedTemporaryFile(suffix='.ps') as tmp:
httpd.app.canvas.postscript(
file=tmp.name,
colormode='color',
)
tmp.flush()
with tempfile.NamedTemporaryFile(suffix='.gif') as out:
Image.open(tmp.name).save(out.name, 'GIF') #<< Trying to open the already open tmp file???
out.flush()
out.seek(0)
self.do_HEAD(200, content="image/gif")
self.wfile.write(out.read())
来自文档:
在 Windows 中,您无法再次打开由 NamedTemporaryFile() 返回的文件。但它似乎正是代码在 Image.open 中试图做的事情。 |
谢谢@effer该文件已经打开并被锁定。 |
每次“闪烁”时,文件名都会更改(’c:\users\cnc\appdata\local\temp\tmpm4tqld.ps’)。 |
当我查看消息末尾的临时文件夹时:’c:\users\cnc\appdata\local\temp\tmpm4tqld.ps’ 没有以 .ps 结尾的文件。 |
问题是 NamedTemporaryFile()。 |
我找不到合理的解决方案。因此,在出现错误的情况下,它会显示一个 warn.gif 图标以停止闪烁。 |
你好。
我不经常使用吊坠。
昨天我在手机上打开它,慢跑按钮上下跳动。
有一张图片无法加载(我认为)。
Windows Python窗口报错:
————————————–
处理来自 (‘192.168.178.51’, 50662) 的请求时发生异常
Traceback(最近调用最后一次):
文件“C:\Python27\lib\SocketServer.py”,第 295 行,在 _handle_request_noblock
self.process_request(request, client_address )
文件“C:\Python27\lib\SocketServer.py”,第 321 行,在 process_request
self.finish_request(request, client_address)
文件“C:\Python27\lib\SocketServer.py”,第 334 行,在 finish_request
self.RequestHandlerClass 中(request, client_address, self)
文件“C:\Python27\lib\SocketServer.py”,第 655 行,在init
self.handle()
文件“C:\Python27\lib\BaseHTTPServer.py”,第 340 行,在句柄中
self.handle_one_request()
文件“C:\Python27\lib\BaseHTTPServer.py”,第 328 行,在 handle_one_request
method()
文件“D:\bCNC\bCNC-master\Pendant.py”,第 124 行,在 do_GET
Image.open(tmp.name ).save(out.name, ‘GIF’)
File “C:\Python27\lib\site-packages\PIL\Image.py”, line 1952, in open
fp = builtin .open(fp, “rb”)
IOError : [Errno 13] 权限被拒绝:’c:\users\cnc\appdata\local\temp\tmpm4tqld.ps’
我认为权限被拒绝是问题所在,但“以管理员身份运行”无法解决。
还是双\?但我认为这仅来自错误处理程序。
如果我用 chrome 删除 html 站点上的图像,一切正常。