首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OS模块listdir函数中的os错误

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

Stack Overflow用户
提问于 2021-04-14 06:33:45
回答 3查看 220关注 0票数 1

我正在学习python的os模块,在那里我编写了下面的代码来测试模块的功能。

输入:

代码语言:javascript
复制
os.getcwd()

输出:

代码语言:javascript
复制
'C:\\projects\\humming_bird'

输入:

代码语言:javascript
复制
os.listdir()

输出:

代码语言:javascript
复制
['.ipynb_checkpoints',
 'All_images',
 'hummingbirds',
 'Untitled.ipynb',
 'video_test']

输入:

代码语言:javascript
复制
os.listdir('C:\projects\humming_bird\hummingbirds\train\Rufous_female')

输出:

代码语言:javascript
复制
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'

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

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2021-04-14 06:44:26

由于存在Espace序列(如\n,\t等),所以您必须按照下面的方式更改路径,所以python不能直接以常规方式通过路径。

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

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

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

票数 3
EN

Stack Overflow用户

发布于 2021-04-14 06:34:54

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

票数 1
EN

Stack Overflow用户

发布于 2021-04-14 06:39:16

你应该试试这个方法:

代码语言:javascript
复制
os.listdir("C:\\projects\\humming_bird\\hummingbirds\\train\\Rufous_female")
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67086612

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档