OS os 模块的 listdir 函数错误

OS Error in the listdir function of os module

我正在学习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'

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

在python中,反斜杠用作忽略符号。所以在每个反斜杠后添加另一个反斜杠

你应该这样试试:

os.listdir("C:\projects\humming_bird\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 或终端作为管理员