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中用pycurl监控http响应时间脚本分享
Feb 02 Python
Python计算三维矢量幅度的方法
Jun 15 Python
Python中内建函数的简单用法说明
May 05 Python
详解django.contirb.auth-认证
Jul 16 Python
python实现机器学习之多元线性回归
Sep 06 Python
从0开始的Python学习016异常
Apr 08 Python
python实现的发邮件功能示例
Sep 11 Python
python内置模块collections知识点总结
Dec 19 Python
Python使用turtle库绘制小猪佩奇(实例代码)
Jan 16 Python
Python能做什么
Jun 02 Python
Matplotlib配色之Colormap详解
Jan 05 Python
python之json文件转xml文件案例讲解
Aug 07 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
PHP实现原生态图片上传封装类方法
2016/11/08 PHP
PHP最常用的正则表达式
2017/02/13 PHP
php使用mysqli和pdo扩展,测试对比mysql数据库的执行效率完整示例
2019/05/09 PHP
JAVASCRIPT keycode总结
2009/02/04 Javascript
javascript判断iphone/android手机横竖屏模式的函数
2011/12/20 Javascript
JS中操作JSON总结
2020/12/06 Javascript
javascript获取flash版本号的方法
2014/11/20 Javascript
JavaScript模拟push
2016/03/06 Javascript
一个非常好用的文字滚动的案例,鼠标悬浮可暂停[两种方案任选]
2016/12/01 Javascript
深入理解vuex2.0 之 modules
2017/11/20 Javascript
微信小程序实现左右联动的实战记录
2018/07/05 Javascript
ES6中的迭代器、Generator函数及Generator函数的异步操作方法
2019/05/12 Javascript
6种JavaScript继承方式及优缺点(小结)
2020/02/06 Javascript
JS实现无限轮播无倒退效果
2020/09/21 Javascript
[01:23:59]2018DOTA2亚洲邀请赛 4.1 小组赛 B组 VP vs Secret
2018/04/03 DOTA
python基于mysql实现的简单队列以及跨进程锁实例详解
2014/07/07 Python
python中split方法用法分析
2015/04/17 Python
Python实现的数据结构与算法之快速排序详解
2015/04/22 Python
详解python中TCP协议中的粘包问题
2019/03/22 Python
python3 map函数和filter函数详解
2019/08/26 Python
Anaconda+vscode+pytorch环境搭建过程详解
2020/05/25 Python
Python带参数的装饰器运行原理解析
2020/06/09 Python
python批量检查两个对应的txt文件的行数是否一致的实例代码
2020/10/31 Python
python通过cython加密代码
2020/12/11 Python
全球虚拟主机商:HostGator
2017/02/06 全球购物
怎样从/向数据文件读/写结构
2014/11/23 面试题
大学生励志演讲稿
2014/04/25 职场文书
大学生社会实践方案
2014/05/11 职场文书
组织鉴定材料
2014/06/02 职场文书
影视后期实训报告
2014/11/05 职场文书
学会掌握自己命运的十条黄金法则:
2019/08/08 职场文书
MySQL入门命令之函数-单行函数-流程控制函数
2021/04/05 MySQL
利用Python判断整数是否是回文数的3种方法总结
2021/07/07 Python
深入理解CSS 中 transform matrix矩阵变换问题
2021/08/30 HTML / CSS
Linux7.6二进制安装Mysql8.0.27详细操作步骤
2021/11/27 MySQL
试用1103暨1103、1101同门大比武 [ DAIWEI ]
2022/04/05 无线电