On 30Apr2017 06:52, Tim Chase <python.l...@tim.thechases.com> wrote:
On 2017-04-29 20:51, Devin Jeanpierre wrote:
On Sat, Apr 29, 2017 at 11:45 AM, Tim Chase wrote
> So which route should I pursue?
> - go ahead and use tempfile.mktemp() ignoring the deprecation?
I'd be tempted to. But...
> - use a GUID-named temp-file instead for less chance of collision?
You could, but mktemp is supposed to robustly perform that task, versus "very
very probably".
> - I happen to already have a hash of the file contents, so use
> the .hexdigest() string as the temp-file name?
Hashes collide. (Yes, I know that for your purposes we consider that they
don't; I have a very similar situation of my own). And what if your process is
running twice, or leaves around a previous temp file by accident (or
interruption) _or_ the file tree contains filenames named after the hash of
their content (not actually unheard of)?
> - some other solution I've missed?
What about some variation on:
from tempfile import NamedTemporaryFile
...
with NamedTemporaryFile(dir=your_target_directory) as T:
use T.name, and do your rename/unlink in here
Cheers,
Cameron Simpson <c...@zip.com.au>
--
https://mail.python.org/mailman/listinfo/python-list