2016-05-23 2 views
1

Я пытаюсь создать временный каталог с помощью метода tempfile.mkdtemp(), но я получаю следующее сообщение об ошибкеОшибка при создании временного каталога

Traceback (most recent call last): 
    File "src/main.py", line 29, in <module> 
    tmp = tempfile.mkdtemp() 
    File "/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/V 
ersions/2.7/lib/python2.7/tempfile.py", line 331, in mkdtemp 
    dir = gettempdir() 
    File "/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/V 
ersions/2.7/lib/python2.7/tempfile.py", line 275, in gettempdir 
    tempdir = _get_default_tempdir() 
    File "/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/V 
ersions/2.7/lib/python2.7/tempfile.py", line 200, in _get_default_tem 
pdir 
    with _io.open(fd, 'wb', closefd=False) as fp: 
AttributeError: 'module' object has no attribute 'open' 

при выполнении этого кода с Python 2.7.6 и 2.7.11

import errno 
import shutil 
import tempfile 

tmp = tempfile.mkdtemp() 
try: 
    shutil.rmtree(tmp) 
except OSError as e: 
    if e.errno == errno.ENOENT: 
     print "No such file or directory" 

Что я делаю неправильно?

+2

Есть ли у вас какие-либо '' io.py' или io' папку на PYTHONPATH? –

+0

Работает для меня. Каков результат 'help (_io)'? (сначала запустите 'import _io') – abukaj

+0

@KlausD. Я создал файл io.py, который я сейчас переименовал. Обновлен вопрос с новыми ошибками. –

ответ

-1

При запуске точного скрипта в python 2.7.11 у меня не было ошибок. Возможно, вы можете попробовать распечатать имя временной папки, чтобы убедиться, что она создана правильно (перед ее удалением)

1

В каталоге у меня был файл с именем io.py, переименование этого файла разрешает проблему, вызванную именем Shadowing Ловушка.

See more here, благодаря J.F. Sebastian

Смежные вопросы