os 模块的 listdir 函数中的 OS 错误

萨马尔·普拉塔普·辛格

我在学习python的os模块,在那里写了下面的代码来试用一下该模块的功能。

输入:

os.getcwd()

输出:

'C:\\projects\\humming_bird'

输入:

os.listdir()

输出:

['.ipynb_checkpoints',
 'All_images',
 'hummingbirds',
 'Untitled.ipynb',
 'video_test']

输入:

os.listdir('C:\projects\humming_bird\hummingbirds\train\Rufous_female')

输出:

OSError                                   Traceback (most recent call last)
<ipython-input-23-fad4f5df47d8> in <module>
----> 1 os.listdir('hummingbirds\train\Rufous_female')

OSError: [WinError 123] The filename, directory name, or volume label syntax is incorrect: 'hummingbirds\train\\Rufous_female'

尽管该文件存在于给定位置,但它仍显示错误。请帮忙!

黑客尝试

由于 \n、\t 等 Espace 序列的存在,python 不会直接接受以通常方式传递你的路径。所以你必须改变你的路径,如下所示

os.listdir('C:\projects\humming_bird\hummingbirds\train\Rufous_female')

修改os.listdir('C:\\projects\\humming_bird\\hummingbirds\\train\\Rufous_female')添加额外的反斜杠告诉 python 解释器将其作为正常的反斜杠而不是转义序列。现在在上述情况下,如果文件或目录将可用或由于对该目录的管理员可访问性而不受限制,那么它将不会显示任何错误。

但是,如果文件或目录仍然存在并且路径在上面输入了相同的修改并且显示错误,那么请确保在终端或ide中以管理员模式运行脚本。为此,只需以管理员身份运行您的 ide 或终端

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章