(Python) Проблемы с каталогами, которые имеют специальные символы - PullRequest
6 голосов
/ 01 сентября 2011
  • ОС: Windows server 03
  • Python ver: 2.7

Для приведенного ниже кода он работает нормально, когда я заменяю "fuchida@domain.com" на "fuchida».Если я использую формат электронной почты для имени каталога, я получаю следующую ошибку " WindowsError: [Ошибка 123] Неверный синтаксис имени файла, имени каталога или метки тома: ".Пожалуйста, дайте мне знать, что я могу сделать, чтобы заставить это работать, мои деньги на символе "@" выдумывают, но я пока не знаю, как решить это в python.

import os

def dirListing():
    dirList = os.listdir("C:\\Program Files\home\Server\Logs\fuchida@domain.com")
    for fname in dirList:
        print fname
    return

def main():
    dirListing()

if __name__ == '__main__':main()

1 Ответ

8 голосов
/ 01 сентября 2011

Я подозреваю проблемы с вашим \ в качестве escape-символов. Попробуйте это:

import os

def dirListing():
    dirList = os.listdir(r"C:\\Program Files\home\Server\Logs\fuchida@domain.com")
    for fname in dirList:
        print fname
    return

def main():
    dirListing()

if __name__ == '__main__':main()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...