繁体   English   中英

os.listdir() 不显示目录的内容

[英]os.listdir() not showing contents of directory

这是我的代码:

files = [f for f in os.listdir(os.getcwd() + "\\folder") if os.path.isfile(f)]
for file in files:
    print("hello")

我从包含一个名为“文件夹”的文件夹的目录中运行它。 该文件夹中有 4 个文件。 这应该在我的脑海中打印四次“你好”——但事实并非如此。

我误解了什么?

PS 我需要在这里使用os.getcwd()吗? 我认为只使用相对路径会更干净,但这也不起作用。

使用os.path.isfile(f)您是在询问f是否是当前目录中的文件,而不是folder 将您的代码替换为:

[f for f in os.listdir(os.path.join(os.getcwd(), "folder")) if os.path.isfile(os.path.join("folder", f))]

我还冒昧地使用os.path.join来避免将文件和文件夹名称直接连接为字符串,因为斜线可能有点不确定。

为了记录,不,你不需要在这里使用os.getcwd() (但我还是把它留在了那里)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM