Python提取Linux内核源代码的目录结构实现方法


Posted in Python onJune 24, 2016

今天用Python提取了Linux内核源代码的目录树结构,没有怎么写过脚本程序,我居然折腾了2个小时,先是如何枚举出给定目录下的所有文件和文件夹,os.walk可以实现列举,但是os.walk是只给出目录名和文件名,而没有绝对路径。使用os.path.listdir可以达到这个目的,然后是创建目录,由于当目录存在是会提示创建失败的错误,所以我先想删除所有目录,然后再创建,但是发现还是有问题,最好还是使用判断如果不存在才创建目录,存在时就不创建,贴下代码:

#  @This script can be used to iterate the given directory,and create the 

#  empty directory structure without file in it,e.g,I want to have you directory

#  as the linux kernel source, but i don't want the files, then this script comes.

#  @This script is running under python 3.1

#  @author:zhangchao

#  @Time:2011年7月25日18:43:26

###########################################################################

 

 

import os

import re

 

#listmydirs is created to recursivly list all the entrys in the specified path.

#In fact, we have os.walk to handle this problem

 

#

#level:目录的层数,不要也可以,主要是为了显示目录在那一层

#srcpath:内核源代码所在的路路径

#destpath:将要生成的内核源代码的目录结构所在路径

#

 

def createkerneldirs(level,srcpath,destpath):

  for entrys in os.listdir(srcpath): #学习listdir函数的用法

    tmpsrcpath=srcpath+os.sep+entrys

    tmpdestpath = tmpsrcpath.replace(srcpath,destpath)#将源路径中的E:\linux-2.6替换为E:\tmp,学习字符串替换函数的用法

  

    print('in level:'+str(level))

    print(tmpsrcpath)

    print(tmpdestpath)

     

    if os.path.isdir(tmpsrcpath):

      listmydirs(level+1,tmpsrcpath,tmpdestpath)

      if os.path.exists(tmpdestpath)==False: #如果文件不存在才创建文件

        os.makedirs(tmpdestpath)

 

if __name__=='__main__':

#将E:\linux-2.6的内核源代码目录结构拷贝到E:\tmp目录下

  createkerneldirs(1,r'E:\linux-2.6',r'E:\tmp')

以上就是小编为大家带来的Python提取Linux内核源代码的目录结构实现方法全部内容了,希望大家多多支持三水点靠木~

Python 相关文章推荐
按日期打印Python的Tornado框架中的日志的方法
May 02 Python
python根据日期返回星期几的方法
Jul 06 Python
Python调用ctypes使用C函数printf的方法
Aug 23 Python
python使用folium库绘制地图点击框
Sep 21 Python
使用Selenium破解新浪微博的四宫格验证码
Oct 19 Python
Python使用pandas和xlsxwriter读写xlsx文件的方法示例
Apr 09 Python
你还在@微信官方?聊聊Python生成你想要的微信头像
Sep 25 Python
如何基于线程池提升request模块效率
Apr 18 Python
Python select及selectors模块概念用法详解
Jun 22 Python
Pytorch实验常用代码段汇总
Nov 19 Python
全网最细 Python 格式化输出用法讲解(推荐)
Jan 18 Python
python 离散点图画法的实现
Apr 01 Python
Linux上安装Python的PIL和Pillow库处理图片的实例教程
Jun 23 #Python
尝试用最短的Python代码来实现服务器和代理服务器
Jun 23 #Python
Python基础篇之初识Python必看攻略
Jun 23 #Python
浅谈python中scipy.misc.logsumexp函数的运用场景
Jun 23 #Python
浅谈Python中用datetime包进行对时间的一些操作
Jun 23 #Python
Python中在脚本中引用其他文件函数的实现方法
Jun 23 #Python
python中的lambda表达式用法详解
Jun 22 #Python
You might like
丧钟首部独立剧集《丧钟:骑士与龙》北美正式开播,场面血腥
2020/04/09 欧美动漫
php 设计模式之 单例模式
2008/12/19 PHP
Yii中CGridView关联表搜索排序方法实例详解
2014/12/03 PHP
php下pdo的mysql事务处理用法实例
2014/12/27 PHP
学习php设计模式 php实现合成模式(composite)
2015/12/08 PHP
PHP中十六进制颜色与RGB颜色值互转的方法
2019/03/18 PHP
实现连缀调用的map方法(prototype)
2009/08/05 Javascript
将HTML格式的String转化为HTMLElement的实现方法
2014/08/07 Javascript
jQuery实现鼠标滚轮动态改变样式或效果
2015/01/05 Javascript
解析Node.js基于模块和包的代码部署方式
2016/02/16 Javascript
javascript如何定义对象数组
2016/06/07 Javascript
jquery html5 视频播放控制代码
2016/11/06 Javascript
利用n 升级工具升级Node.js版本及在mac环境下的坑
2017/02/15 Javascript
angularjs中$http异步上传Excel文件方法
2018/02/23 Javascript
js实现点击按钮复制文本功能
2020/07/20 Javascript
jQuery 隐藏/显示效果函数用法实例分析
2020/05/20 jQuery
[03:28]2014DOTA2国际邀请赛 EG战队官方纪录片
2014/07/21 DOTA
[57:53]Secret vs Pain 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
python进阶教程之函数参数的多种传递方法
2014/08/30 Python
Python实现购物程序思路及代码
2017/07/24 Python
浅析使用Python操作文件
2017/07/31 Python
轻量级的Web框架Flask 中模块化应用的实现
2017/09/11 Python
Python 实现子类获取父类的类成员方法
2019/01/11 Python
利用python在excel里面直接使用sql函数的方法
2019/02/08 Python
django迁移数据库错误问题解决
2019/07/29 Python
python之pymysql模块简单应用示例代码
2019/12/16 Python
python 的topk算法实例
2020/04/02 Python
python接口自动化之ConfigParser配置文件的使用详解
2020/08/03 Python
HTML5如何实现元素拖拽
2016/03/11 HTML / CSS
如何选择使用结构还是类
2014/05/30 面试题
2014年营业员工作总结
2014/11/18 职场文书
2014年高三班主任工作总结
2014/12/05 职场文书
匿名信格式范文
2015/05/27 职场文书
《走遍天下书为侣》教学反思
2016/02/22 职场文书
基于JavaScript实现年月日三级联动
2021/06/22 Javascript
一文搞懂Java中的注解和反射
2022/06/21 Java/Android