Почему tempfile использует имена каталогов DOS 8.3 на моем компьютере с XP? - PullRequest
4 голосов
/ 08 октября 2010
>>> import tempfile
>>> tempfile.mkstemp()
(3, 'c:\\docume~1\\k0811260\\locals~1\\temp\\tmpk6tpd3')

Это работает, но выглядит немного странно. фактическое имя временного файла - более 8 букв.

Почему вместо него не используются длинные имена файлов?

1 Ответ

3 голосов
/ 08 октября 2010

mkstemp использует переменные окружения TMPDIR, TEMP или TMP (первая, которая установлена), чтобы определить, куда поместить ваш временный файл.Один из них, вероятно, установлен на c:\docume~1\k0811260\locals~1\temp в вашей системе.Выпуск

echo %%tmp%%

и т. Д.в командном окне («DOS box»), чтобы узнать наверняка.

Что, на самом деле, хорошо , потому что некоторые наивные модули / программы (например, те, которые вызывают внешниеКоманды ОС) могут запутаться, если имя каталога содержит пробел из-за проблем с цитированием.

...