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

这是我的代码:


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()吗?我认为只使用相对路径会更干净,但这也行不通。


一只萌萌小番薯
浏览 132回答 1
1回答

繁星coding

随着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()这里使用(但我还是把它留在那里了)。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python