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通过正则表达式选取callback的方法
Jul 18 Python
Python中线程的MQ消息队列实现以及消息队列的优点解析
Jun 29 Python
python爬虫使用cookie登录详解
Dec 27 Python
TensorFlow深度学习之卷积神经网络CNN
Mar 09 Python
python批量读取txt文件为DataFrame的方法
Apr 03 Python
Python3之简单搭建自带服务器的实例讲解
Jun 04 Python
手写一个python迭代器过程详解
Aug 27 Python
pytorch sampler对数据进行采样的实现
Dec 31 Python
python发qq消息轰炸虐狗好友思路详解(完整代码)
Feb 15 Python
python为Django项目上的每个应用程序创建不同的自定义404页面(最佳答案)
Mar 09 Python
Python任务调度利器之APScheduler详解
Apr 02 Python
Python爬取YY评级分数并保存数据实现过程解析
Jun 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
解析php开发中的中文编码问题
2013/08/08 PHP
PHP中可以自动分割查询字符的Parse_str函数使用示例
2014/07/25 PHP
ThinkPHP中使用ajax接收json数据的方法
2014/12/18 PHP
php显示指定目录下子目录的方法
2015/03/20 PHP
PHP类与对象后期静态绑定操作实例详解
2018/12/20 PHP
jquery bind(click)传参让列表中每行绑定一个事件
2014/08/06 Javascript
详解JavaScript ES6中的模板字符串
2015/07/28 Javascript
jquery制作属于自己的select自定义样式
2015/11/23 Javascript
JavaScript tab选项卡插件实例代码
2016/02/23 Javascript
jQuery防止重复绑定事件的解决方法
2016/05/14 Javascript
js正则表达式惰性匹配和贪婪匹配用法分析
2016/12/26 Javascript
JavaScript实现星级评分
2017/01/12 Javascript
vue.js学习笔记:如何加载本地json文件
2017/01/17 Javascript
vue2.0全局组件之pdf详解
2017/06/26 Javascript
Vue2路由动画效果的实现代码
2017/07/10 Javascript
webpack打包js的方法
2018/03/12 Javascript
JSON基本语法及与JavaScript的异同实例分析
2019/01/04 Javascript
element-ui 时间选择器限制范围的实现(随动)
2019/01/09 Javascript
vue实现点击按钮“查看详情”弹窗展示详情列表操作
2020/09/09 Javascript
Python中处理字符串之endswith()方法的使用简介
2015/05/18 Python
Python获取暗黑破坏神3战网前1000命位玩家的英雄技能统计
2016/07/04 Python
Python堆排序原理与实现方法详解
2018/05/11 Python
基于python-opencv3的图像显示和保存操作
2019/06/27 Python
详解用Python为直方图绘制拟合曲线的两种方法
2019/08/21 Python
Python 中如何实现参数化测试的方法示例
2019/12/10 Python
python3爬虫中引用Queue的实例讲解
2020/11/24 Python
史泰博(Staples)中国官方网站:办公用品一站式采购
2016/09/05 全球购物
以设计师精品品质提供快速时尚:Mostata
2019/05/10 全球购物
市场营销个人求职信范文
2014/02/02 职场文书
职工擅自离岗检讨书
2014/09/23 职场文书
公安民警正风肃纪剖析材料
2014/10/10 职场文书
党员个人年度总结
2015/02/14 职场文书
电影圆明园观后感
2015/06/03 职场文书
五一晚会主持词
2015/07/01 职场文书
MySQL 重命名表的操作方法及注意事项
2021/05/21 MySQL
Android Flutter实现3D动画效果示例详解
2022/04/07 Java/Android