本篇文章首席CTO笔记来给大家介绍有关python能输出目录有多少层吗以及python能输出目录有多少层吗为什么的相关内容,希望对大家有所帮助,一起来看看吧。
本文目录一览:
1、python 获得指定目录下所有文件名 要求:linux下,使用Python2.7,获取第一层文件、文件夹2、python 检查两个文件夹的内容是否相同,里面有很多文件夹和文件,最主要的是不知道文件夹有几层!!!3、python遍历目录就是这么简单4、python怎么用递归遍历多层目录树5、python怎样创建多级目录6、怎么用python自动生成目录python 获得指定目录下所有文件名 要求:linux下,使用Python2.7,获取第一层文件、文件夹
import os
Path='目录全路径'
fout=open('输出文件名','w')
for Name in os.listdir(Path) :
(缩进) Pathname= os.path.join(Path,Name)
(缩进) printfout,Pathname
fout.close()
纯手工写作,没有测试
python 检查两个文件夹的内容是否相同,里面有很多文件夹和文件,最主要的是不知道文件夹有几层!!!
我在公司写过一模一样的程序。我的方法是先用os.walk遍历所有文件,把两个文件夹的所有文件名弄在一个list里面。然后比较两个list元素,再对比每个文件的内容。如果lz是妹子的话欢迎加我QQ探讨,汉子就照着我的思路自己写吧。。。
python遍历目录就是这么简单
有时我们有列出目录下都有哪些文件和子目录的需求,这种情况是有现成命令可用的,比如windows下的dir命令,linux下的ls命令都可以,那我们用python代码怎么实现呢?
我们利用python丰富的库很容易就能实现一个简易版本,下面我们就用4种方法来实现它。
一、使用os.popen
os.popen工作原理是新建一个子进程,然后用这个子进程执行命令,父进程与子进程间通过管道进行通信。
根据调用popen时的传参,我们可以通过管道读取子进程的输出也可以向子进程写数据,默认是读取子进程的输出。
从以上描述可以看出popen是非常通用的,不是只能用于我们这个例子哦。
那我们开始用它实现我们的需求吧,代码如下:
哈哈,是不是很简单,这种方式虽然能达到目的但其实并不是我们想要的,我们本来就是要实现ls的,结果调用了ls,所以严格意义上来说我们并没有实现ls,那让我们继续往下看其它方法吧,嘿嘿。
二、使用glob.glob
glob可以根据你使用的通配符对文件进行匹配,利用这个特性我们可以列出当前目录下都有哪些文件和子目录,如下代码:
三、使用os.listdir
os.listdir同样可以列出某个目录下都有哪些文件和子目录,如下代码:
四、使用os.walk
os.walk在遍历目录方面非常强大,它不但可以遍历你需要的目录,也可以递归遍历子目录且递归的深度可以用代码控制,下面让我们分别看下怎么遍历整个目录树以及怎么控制深度吧。
os.walk默认是遍历整个目录树的,如下代码就会递归打印出当前目录下所有文件:
那我们怎么控制遍历的深度,比如只遍历n层呢?其实很简单,只需要定义一个深度变量,然后到达n后跳出循环即可,如下代码就只遍历1层:
至此我们已经写完4种方法了,如果你还有其他方法,欢迎评论交流。
python怎么用递归遍历多层目录树
Python实现递归遍历指定文件目录(startdir),从而找到所有与指定的文件或目录(target)名相同的文件或目录的绝对路径。
scandir.py :
#! /usr/bin/python
# filename : scandir.py
# author : Jesse
# update : 2011/08/15 10:16
import os
def scandir(startdir, target) :
os.chdir(startdir)
for obj in os.listdir(os.curdir) :
if obj == target :
print os.getcwd() + os.sep + obj
if os.path.isdir(obj) :
scandir(obj, target)
os.chdir(os.pardir) #!!!
startdir = raw_input('Please input startdir: ')
target = raw_input('Please input target: ')
scandir(startdir, target)
关于该程序的一点说明:
1. 函数scandir的形参target可以是目录名也可以是文件名。
2. 函数chdir的作用是切换到指定目录,该参数必须是有效的且有访问权限的相对路径或绝对路径。
3. 函数的第五行,使用getcwd函数也是为了取得当前绝对路径。
4. 加号作为字符串的连接符。os.sep根据你的操作系统给出目录分隔符,在GNU/Linux和UNIX上它的返回值是'/',在windows上它的返回值是'\\',在Mac OS上是‘:’,使用os.sep而不直接使用字符,会提高程序的可移植性。
5. 递归调用后,一定不能忘了os.chdir(os.pardir),返回上层目录(即父目录)。
重要:
1. 理解for中的两个并列的if语句,并列是为了解决目标是文件夹时,该目标文件夹中包含符合要求的文件夹。
2. 如果指定目录中存在访问受限的文件或文件夹,该程序会失败,返回无权访问信息。
python怎样创建多级目录
具体实现方法如下:
import os
os.makedirs( "/home/jb51/data" )
这样就可以创建一个三级目录。
怎么用python自动生成目录
先要引入os模块
使用mkdir方法创建一个tt文件夹,参数是文件夹的路径:
假如我们使用mkdir方法创建多层文件夹,也就是说,文件夹f:/tt1和文件夹f:/tt1/tt1都是不存在的,这时候就会出现错误
我们可以使用makedirs方法来创建多层目录:
结语:以上就是首席CTO笔记为大家介绍的关于python能输出目录有多少层吗和python能输出目录有多少层吗为什么的全部内容了,希望对大家有所帮助,如果你还想了解更多这方面的信息,记得收藏关注本站。