首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在listdir中用斜杠(\)发出

在listdir中用斜杠(\)发出
EN

Stack Overflow用户
提问于 2022-04-06 11:25:10
回答 2查看 183关注 0票数 0

在试图将信息插入listdir时,我遇到了一些问题。

最初,我尝试手动输入以下信息:

for file in os.listdir(r'H:\My Documents')

我得到这个错误的地方:[Errno 2] No such file or directory: 'H:\\My Documents'

那么下面

代码语言:javascript
复制
list_of_directory = r'H:\My Documents' 
for file in os.listdir(list_of_directory):

我也犯了同样的错误。

我已经尝试了所有的方法,包括这里提到的解决方案,Error with double backslash in Windows path in Python,但是它不起作用。

你能帮忙吗?其余的代码已经准备好了,这是如此令人沮丧,它必须等待,因为这个小故障!

EN

回答 2

Stack Overflow用户

发布于 2022-04-06 11:28:59

您应该能够在任何操作系统上使用前斜杠,因为OS库将前向斜杠替换为用于Windows的baclwards斜杠。如果这不起作用,您可以尝试使用pathlib库。

代码语言:javascript
复制
from pathlib import Path
data_folder = Path("source_data/text_files/")
file_to_open = data_folder / "raw_data.txt"

如果需要,甚至可以使用pathlib将Unix转换为Windows路径。

代码语言:javascript
复制
from pathlib import Path, PureWindowsPath
filename = Path("source_data/text_files/raw_data.txt")
path_on_windows = PureWindowsPath(filename)

所以你的代码会变成:

代码语言:javascript
复制
from pathlib import Path
list_of_directory = Path('H:/My Documents').resolve()
for file in os.listdir(list_of_directory):
  print(file)
票数 0
EN

Stack Overflow用户

发布于 2022-04-06 11:35:56

您是否有意捕获未找到的文件错误:

代码语言:javascript
复制
list_of_directory = r'H:\My Documents'
try:
    for file in os.listdir(list_of_directory):
        ...
except FileNotFoundError:
    print(list_of_directory, "not found")

这将允许程序在文件夹不存在时继续并执行其他操作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71765888

复制
相关文章

相似问题

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