当前位置: 首页 > 网络应用技术

Python View中有多少个文件(2023年最新共享)

时间:2023-03-06 22:44:28 网络应用技术

  简介:本文的首席执行官注释将介绍python查看子目录中有多少个文件的相关内容。我希望这对每个人都会有所帮助。让我们来看看。

  如果要计算目录中的所有文件,包括子目录,子目录,子目录。

  您可以使用os.walk查找目录中的所有文件

  1

  2

  3

  导入操作系统

  打印总和([[len(x)for _,_,x,x in OS.Walk(OS.Path.dirname(“ test”)))))

  #test是目录名称

  OS.Walk将递归中指定目录中的文件。返回值分别是当前文件夹的完整路径,即当前文件夹中的文件夹中的文件夹和文件。我们只需要文件,所以我不将其取出,只需使用“ _”即可占用一个地方。

  如果您只想计算当前目录中的文件,则不包括子目录。仅使用OS.LISTDIR,仅文件数:文件数:

  1

  len([[x for x in os.listdir(OS.Path.dirname(__file__))如果OM.Path.Isfile(x)]

  有时,我们在目录中有文件的需求和子目录。这种情况可用于准备好制造命令。例如,在Windows下的DIR命令,可以实现Linux下的LS命令。我们如何使用Python代码?

  我们可以使用Python丰富的图书馆轻松地获得一个简单的版本。下面我们使用4种方法来实现它。

  1.使用OS.Popen

  OS.Popen的工作原理是创建一个新的子进程,然后使用此子过程执行命令。父过程和子过程通过管道进行通信。

  基于调用Popen时的段落,我们可以通过管道读取子过程的输出,以将数据写入子进程。默认值是阅读孩子的过程的输出。

  从上面的描述中,我们可以看到Popen非常普遍,不仅是我们的示例。

  然后,让我们开始使用它来实现我们的需求,代码如下:

  哈哈,这很简单吗?尽管此方法可以实现目的,但这不是我们想要的。我们最初想实现LS。结果,我们打电话给LS,因此,严格的Sensego将其视为其他方法,呵呵。

  第二,使用glob.glob

  Glob可以根据您使用的传递匹配该文件。使用此功能,我们可以在当前目录中列出哪些文件和sub -directory,如下:以下代码:

  第三,使用OS.Listdir

  OS.Listdir还可以列出目录中的哪些文件和子段,如下:

  第四,使用OS.Walk

  OS.Walk在穿越目录方面非常强大。它不仅可以穿越您需要的目录,而且还可以通过日历目录和递归深度来控制递归深度。让我们看看如何穿越整个目录树以及如何控制深度。

  默认情况下,整个目录树遍历整个目录树。如下所示,以下代码将在当前目录中打印出所有文件:

  那么,我们如何控制遍历的深度,例如只有n -layer?实际上,这很简单。您只需要定义一个深度变量,然后才能在到达n后跳出循环。以下代码仅遍历1层:

  在这一点上,我们已经完成了4种方法。如果您还有其他方法,请评论和交换。

  使用Path Object Glob()函数和RGLOB()函数,您可以在指定路径下查看文件和子文件夹。两者之间的区别在于,glob()函数仅执行第一个级别搜索,而rglob()函数将进行多级搜索。

  从pathlib导入路径

  p =路径('d:\ folder \')

  r = p.glob('*')

  因为我在r中:

  打印(i)#show glob()函数的结果

  print(' - ' * 25)#段是分段行

  r = p.rglob('*')

  因为我在r中:

  打印(i)#show rglob()函数的结果

  相应的结果如下:

  D:1111.txt

  D:11 .mp3

  D:11.mp3

  D:11 P1000

  D:11个文件夹

  ---------------------------------------------------------------------------------------------------------------------------

  D:1111.txt

  D:11 .mp3

  D:11.mp3

  D:11 P1000

  D:11个文件夹

  D:11个文件夹Documents.txt

  _________________________________

  例如:C:tddownload目录中有两个文件:a.txt和b.txt,并且有两个文件:sub1 sub -folder文件夹下的c.txt和d.txt,c:tddownloadsub1。

  1。

  操作系统

  OS.Walk()返回一个三元素元组:当前路径,文件夹的名称和文件列表。

  进口

  操作系统

  防守

  好玩

  小路

  ),:

  Em

  deor

  根,

  dirs,

  文件

  在

  os.Walk(

  小路

  ),:

  Em

  deor

  fn

  在

  文件:

  Em

  打印

  根,

  fn

  Em

  好玩

  R'C:TDDownload'

  治愈

  C:TDDownload

  a.txt

  C:TDDownload

  b.txt

  C:TDDownloadsub1

  c.txt

  C:TDDownloadsub1

  d.txt

  2。

  glob.glob

  glob.glob()仅接受一个参数。该参数既具有路径和匹配模式。

  返回值

  对于列表。注意glob.glob()无法直接渗透子文件夹,您需要自己处理:

  防守

  好玩

  小路

  ),:

  Em

  deor

  fn

  在

  glob.glob(

  小路

  +

  OS.Sep

  +

  '*'

  ),:

  #

  '*'代表匹配所有文件

  Em

  如果

  os.path.isdir(

  fn

  ),:

  #

  如果结果是文件夹

  Em

  好玩

  fn

  治愈

  #

  递归

  Em

  别的:

  Em

  打印

  fn

  Em

  好玩

  R'C:TDDownload'

  治愈

  C:tddownloada.txt

  C:tddownloadb.txt

  C:tddownloadsub1c.txt

  C:tddownloadsub1d.txt

  '*'是匹配模式,代表所有文件的匹配。只有通过这种方式,才能找到子文件夹,以便将递归加深并检测到下一层的文件。

  FileCount = 0

  导入操作系统

  对于root,dir,在OS.Walk(“文件夹”)中的文件:

  FileCount+= Len(文件)

  打印(“文件夹下的文件总计”%filecount)

  使用OS.Walk遍历文件夹,计算文件数量

  结论:以上是首席CTO的全部内容,请注意查看子目录的Python中有多少个文件。我希望这对每个人都会有所帮助。如果您想进一步了解这一点,请记住要收集对该网站的关注。