(Python) 处理含特殊字符的目录问题

6 投票
1 回答
8619 浏览
提问于 2025-04-17 01:03
  • 操作系统: Windows Server 03
  • Python版本: 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

我怀疑你在代码中使用的\可能是转义字符的问题。你可以试试这样做:

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()

撰写回答