на окнах с Django я получаю WindowsError (3, «Система не может найти указанный путь») - PullRequest
0 голосов
/ 09 июня 2009

это особенно в этой строке:

filesys = os.listdir(settings.CAPTCHA_ROOT) 

это происходит при попытке чтения или записи в каталог.

есть идеи, почему он будет делать это только под Windows?

edit ---------------------------------------

 def __clean_captchas(self, offset=3600):
        """docstring for __clean_captchas"""
        filesys = os.listdir(settings.CAPTCHA_ROOT)
        offset = datetime.datetime.now() - datetime.timedelta(seconds=offset)
        for file in filesys:
            d = datetime.datetime.fromtimestamp(os.stat(settings.CAPTCHA_ROOT+file).st_ctime) ...
            if d < offset:
                os.remove(settings.CAPTCHA_ROOT+file)

Ответы [ 2 ]

1 голос
/ 09 июня 2009

Ваши настройки. CAPTCHA_ROOT неверно. Для переносимых путей вы должны избегать косых черт и обратной косой черты и использовать вместо этого функцию os.path.join, что-то. как это:

import os
PROJECT_PATH = os.path.abspath(os.path.dirname(__file__))
CAPTHA_ROOT = os.path.join(PROJECT_PATH,'some','sub','folders')
0 голосов
/ 09 июня 2009

Если вы указываете каталог как константную строку и пишете путь, используя обратную косую черту вместо прямой косой черты, вам нужно использовать необработанные строки. например.,

CAPTCHA_ROOT = r'D:\captcha'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...