在Python中,我只想列出当前目录中的所有文件。我不想从任何子目录或父目录中列出文件。
似乎也有类似的解决方案,但它们似乎不适合我。以下是我的代码片段:
import os
for subdir, dirs, files in os.walk('./'):
for file in files:
do some stuff
print file
假设我有两个文件,holygrail.py和蒂姆在我的当前目录。我也有一个文件夹,里面有两个文件——让我们称之为亚瑟和兰斯洛特。当我运行脚本时,这是我得到的:
holygrail.py
Tim
Arthur
Lancelot
我对holygrail.py和蒂姆很满意。但是亚瑟和兰斯洛特这两个文件,我不想列出来。
import os
destdir = '/var/tmp/testdir'
files = [ f for f in os.listdir(destdir) if os.path.isfile(os.path.join(destdir,f)) ]
您可以使用os。listdir
用于此目的。如果只需要文件而不需要目录,可以使用os筛选结果。路径isfile
。
例子:
files = os.listdir(os.curdir) #files and directories
或者
files = filter(os.path.isfile, os.listdir( os.curdir ) ) # files only
files = [ f for f in os.listdir( os.curdir ) if os.path.isfile(f) ] #list comprehension version.
只需使用os。listdir和操作系统。路径isfile
而不是操作系统。步行。
示例:
import os
files = [f for f in os.listdir('.') if os.path.isfile(f)]
for f in files:
# do something
但在将其应用于其他目录时要小心,例如
files = [f for f in os.listdir(somedir) if os.path.isfile(f)].
这将不起作用,因为f
不是完整路径,而是相对于当前目录。
因此,要在另一个目录上进行筛选,请执行操作系统。路径isfile(os.path.join(somedir,f))
(感谢因果关系的提示)
问题内容: 在Python中,我只想列出当前目录中的所有文件。我不希望从任何子目录或父目录中列出文件。 似乎确实有类似的解决方案,但它们似乎对我不起作用。这是我的代码段: 假设我在当前目录中有2个文件holygrail.py和Tim。我也有一个文件夹,其中包含两个文件- 我们称它们为Arthur和Lancelot。当我运行脚本时,这就是我得到的: 我对holygrail.py和Tim感到满意。但是
问题内容: 我正在用JAVA制作游戏,我想在jar中的某个目录中列出文件列表,这样我就可以确保列出要在游戏中使用的这些类的列表。 例如说我的罐子里有一个目录 我想 使用jar中另一个类的Java代码 获取该目录中所有.class文件的列表。 这样做的最佳代码是什么? 问题答案: 旧的Java1.4代码,但这会让您有一个主意:
问题内容: 如何在当前目录及其子目录中显示所有大于10k字节的文件。 尝试过,但是没有用。 问题答案: 第一部分与@sputnicks答案相同,并成功查找目录中超过10k的所有文件(不要将k与K混淆),我的补充是,第二部分然后执行或ls列出(-l)文件通过人类可读的大小(-h)。如果愿意,可以取反h。当然是文件本身,而仅仅是文件的替代 在实践中会重复或: 将其显示为一条语句或: 更多\; vs +
问题内容: 我有一个带有大类路径的Java项目-许多项目是从不同的.jar文件中导入的,这些文件已作为依赖项添加(通过Maven)。 我正在寻找一种编程方式,以列出来自当前项目的类路径上的所有项,即,从其他库和Java运行时环境本身中 排除 所有导入的类路径项。 我需要在运行时执行此操作,即它应该在实际的当前类路径下工作。 有什么好方法吗? 问题答案: 除非您创建自己的元数据,否则无法执行此操作。
问题内容: “ java”如何知道要执行的类文件而不设置类路径。即,默认情况下它是否签入当前目录,或者我们也需要为当前目录设置类路径。 问题答案: 它首先检查当前目录。如果找不到该类,它将在类路径中搜索该类。 默认的类路径是当前目录。设置变量或使用命令行选项将覆盖默认值,因此,如果要在搜索路径中包括当前目录,则必须将其包括在新设置中。[ 来源 ]
问题内容: 我需要从给定目录获取文件及其父目录的路径,但不包括它。 因此,例如,如果给我的方法指定path:作为路径,它将返回该目录及其下所有文件的路径。 因此,如果有子文件夹:,并且每个包含,则该方法的结果将是2个字符串,其中包含和 并且如果在其中有一个目录,该目录中有,则为该文件创建的字符串将为,并且如果还有其他子目录可以继续。 我的想法是我只想要文件上方的目录路径,而不是绝对路径,因此只希望