os.tmpfile () не работает под Windows? - PullRequest
2 голосов
/ 18 октября 2011

Я пытаюсь использовать generateDS под Windows, которая использует os.tmpfile.К сожалению, os.tmpfile не работает для меня:

(oneclickcos) C:\Users\Marcin\Documents\oneclickcos\xsd>python
Python 2.7.2 (default, Jun 12 2011, 14:24:46) [MSC v.1500 64 bit (AMD64)] on win
32
Type "help", "copyright", "credits" or "license" for more information.
>>> import os
>>> os.tmpfile()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
OSError: [Errno 13] Permission denied
>>>

У меня есть все временные каталоги с полным контролем для всех, так что это не должно быть проблемой.

Что может быть причиной этого?

Ответы [ 2 ]

3 голосов
/ 18 октября 2011

Запустите сценарий от имени администратора (щелкните правой кнопкой мыши сценарий и выберите «Запуск от имени администратора»), сценарию не хватает прав на выполнение os.tmpfile ().

Edit: Как я вижу, вы используете переводчик, просто запустите переводчик как администратор. Если вы обращаетесь к нему через терминал, достаточно запустить его от имени администратора.

1 голос
/ 18 октября 2011

Как указал Гриффин, проблема в том, что os.tmpfile() пытается создать файл в корневом каталоге.Если вам не нравится запускать скрипт от имени администратора, вы можете использовать os.tmpnam() и обрабатывать файл самостоятельно.

Предупреждение : использование tmpnam () уязвимо для атак по символическим ссылкам

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...