Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python os.listdir()不显示目录的内容_Python_Python 3.x - Fatal编程技术网

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

Python os.listdir()不显示目录的内容,python,python-3.x,Python,Python 3.x,这是我的密码: files=[f代表os.listdiros.getcwd+\\folder if os.path.isfilef] 对于文件中的文件: 你好 我正在从包含名为folder的文件夹的目录中运行此文件。此文件夹中有4个文件。这应该在我的脑海里打印四次hello,但事实并非如此 我误解了什么 PS我需要在这里使用os.getcwd吗?我认为只使用相对路径会更干净,但这也不起作用。使用os.path.isfilef时,您会询问f是否是当前目录中的文件,而不是文件夹中的文件。将代码替换为

这是我的密码:

files=[f代表os.listdiros.getcwd+\\folder if os.path.isfilef] 对于文件中的文件: 你好 我正在从包含名为folder的文件夹的目录中运行此文件。此文件夹中有4个文件。这应该在我的脑海里打印四次hello,但事实并非如此

我误解了什么

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

使用os.path.isfilef时,您会询问f是否是当前目录中的文件,而不是文件夹中的文件。将代码替换为:

[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,但我还是把它放在那里了。

我强烈建议将它分解成更小的部分,然后检查它们,这样你就可以问一个更窄的问题了。查看os.listdir返回的内容,然后再进行isfile筛选。查看您的文件列表中包含的内容。一般来说:在提出问题之前,要弄清楚到底出了什么问题,这样你就可以只把问题集中在特定的问题上,并删除对问题本身不重要的所有内容。正如Charles所说,你可以很容易地自己调试这个问题,没有你的文件系统,我们无法轻松地调试它。考虑使用os.path.JoinNode。我们大多数人将无法运行您的代码,因为它使用反斜杠,而这些反斜杠在Windows之外不起作用-