On Wed, 20 Mar 2019 00:37:56 +1100 Chris Angelico <ros...@gmail.com> wrote: > On Wed, Mar 20, 2019 at 12:25 AM Antoine Pitrou <solip...@pitrou.net> wrote: > > > > > > -1. Please don't remove tempfile.mktemp(). mktemp() is useful to > > create a temporary *name*. All other tempfile functions create an > > actual file and impose additional burden, for example by making the > > file unaccessible by other processes. But sometimes all I want is a > > temporary name that an *other* program will create / act on, not Python. > > It's a very common use case when writing scripts. > > > > The only reasonable workaround I can think of is to first create a > > temporary directory using mkdtemp(), then use a well-known name inside > > that directory. But that has the same security implications AFAICT, > > since another process can come and create the file / symlink first. > > Can't you create a NamedTemporaryFile and permit the other program to > use it? I just tried that (with TiMidity, even though it's quite > capable of just writing to stdout) and it worked fine.
Does it always work? According to the docs, """Whether the name can be used to open the file a second time, while the named temporary file is still open, varies across platforms (it can be so used on Unix; it cannot on Windows NT or later)""". tempfile.mktemp() is portable. Regards Antoine. _______________________________________________ Python-Dev mailing list Python-Dev@python.org https://mail.python.org/mailman/listinfo/python-dev Unsubscribe: https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com