【问题标题】:os.listdir for path contain blankos.listdir 的路径包含空白
【发布时间】:2014-02-14 11:34:29
【问题描述】:

这个非常奇怪的问题,我的代码在我的机器(Linux mint)中运行良好,但在我的服务器中显示错误

这是代码-注意我已经把它 abspath 即使没有它在我的机器上也能正常工作!

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

这是给定的异常 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

【问题讨论】:

    标签: python python-2.7 os.path listdir


    【解决方案1】:

    空格很好,也允许在 Windows 路径中。

    您需要验证您的工作目录是否正确(由于您使用的是相对路径,os.path.abspath() 在这种情况下将基于当前工作目录的绝对路径)。

    如果基本路径正确,请检查该位置是否确实有 MID 1 目录。或许先检查带有os.listdir(os.path.abspath('files')) 目录,看看那里真正的位置。

    【讨论】:

    • 但是产生 MID1 而不是 MID 1 然后是另一个不存在的文件
    • @EngHamoud:那么不清楚你在问什么。那么存在什么文件夹
    • @EngHamoud:注意os.path.abspath() 产生的完整路径;你给了它一个相对路径(files/EE201/MID 1),所以 Python 使它成为一个相对于当前工作目录的完整路径。如果您的文件存在于其他地方,您需要为其提供正确的绝对路径。
    • @EngHamoud:我非常怀疑路径中的 空格 是这里的原因,除非您的文件路径实际上不包含空格而是其他字符。 父目录os.listdir()在那个目录中显示了什么?
    • 哦,是的,感谢您指出这一点,它是MID 1 所以os.listdir() 对我有很大帮助,谢谢更改您的答案,以便我可以将其作为答案提交
    猜你喜欢
    • 1970-01-01
    • 2012-02-26
    • 1970-01-01
    • 2011-05-19
    • 1970-01-01
    • 2013-04-07
    • 1970-01-01
    • 2011-04-13
    • 1970-01-01
    相关资源
    最近更新 更多