这是我的代码: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()吗?我认为只使用相对路径会更干净,但这也行不通。
1 回答
繁星coding
TA贡献1797条经验 获得超4个赞
随着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()这里使用(但我还是把它留在那里了)。
添加回答
举报
0/150
提交
取消
