2014-02-14 3 views
0

это очень странно проблемы моего кода работает отлично в моей машине (Linux Mint), но он показывает ошибку в моем сервереos.listdir для пути содержит пустой

вот код -ПРИМЕЧАНИЕ я сделать это abspath даже это было отлично работает без него в моей машине!

def GET_Contents(filepath): 
    return os.listdir(os.path.abspath(os.path.join('files', filepath.strip()))) 

вот данном Exception return os.listdir(os.path.abspath(os.path.join('files', filepath.strip()))) OSError: [Errno 2] No such file or directory: '/home/hamoud/webapps/FileManager/files/EE201/MID 1'

проблема возникает только с папками, которые содержит пробелы (например, MID 1)

ответ

1

Пробелы в порядке и допускается в путях Windows, тоже.

Вам необходимо убедиться, что ваша рабочая директория верна (поскольку вы используете относительный путь, os.path.abspath() будет основывать абсолютный путь текущего рабочего каталога в этом случае).

Если базовый путь правильный, проверьте, действительно ли находится a MID 1 директория в этом месте. Возможно, проверьте родительский с os.listdir(os.path.abspath('files')), чтобы увидеть, что там действительно находится.

+0

, но это дает MID1 вместо MID 1, а затем другой файл, которого он не существует – Hamoudaq

+0

@EngHamoud: Тогда непонятно, что вы просите. Какая папка * существует? –

+0

@EngHamoud: Обратите внимание на полный путь 'os.path.abspath()' производит; вы дали ему относительный путь ('files/EE201/MID 1'), поэтому Python делает его полным путем относительно текущего рабочего каталога. Если ваши файлы живут * в другом месте *, вы должны дать ему правильный абсолютный путь. –