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程序中访问Java类的简单示例
Apr 20 Python
Python中的字典与成员运算符初步探究
Oct 13 Python
使用Python神器对付12306变态验证码
Jan 05 Python
Python常见加密模块用法分析【MD5,sha,crypt模块】
May 24 Python
详解使用PyInstaller将Pygame库编写的小游戏程序打包为exe文件
Aug 23 Python
给Python学习者的文件读写指南(含基础与进阶)
Jan 29 Python
已安装tensorflow-gpu,但keras无法使用GPU加速的解决
Feb 07 Python
Python闭包及装饰器运行原理解析
Jun 17 Python
Python优秀开源项目Rich源码解析的流程分析
Jul 06 Python
浅析Python 字符编码与文件处理
Sep 24 Python
Python wordcloud库安装方法总结
Dec 31 Python
Python自动化测试基础必备知识点总结
Feb 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中利用post传递字符串重定向的实现代码
2011/04/21 PHP
php自定义session示例分享
2014/04/22 PHP
php获得文件大小和文件创建时间的方法
2015/03/13 PHP
Yii2实现自定义独立验证器的方法
2017/05/05 PHP
浅析PHP中的 inet_pton 网络函数
2019/12/16 PHP
PHP类的自动加载与命名空间用法实例分析
2020/06/05 PHP
获取Javscript执行函数名称的方法
2006/12/22 Javascript
漂亮的提示信息(带箭头)
2007/03/21 Javascript
ExtJS Store的数据访问与更新问题
2010/04/28 Javascript
零基础搭建Node.js、Express、Ejs、Mongodb服务器及应用开发入门
2014/12/20 Javascript
Bootstrap中CSS的使用方法
2016/02/17 Javascript
如何在Linux上安装Node.js
2016/04/01 Javascript
基于jquery实现表格内容筛选功能实例解析
2016/05/09 Javascript
jQuery和hwSlider实现内容响应式可触控滑动切换效果附源码下载(二)
2016/06/22 Javascript
微信小程序之购物车功能
2020/09/23 Javascript
Vue-cli中为单独页面设置背景色的实现方法
2018/02/11 Javascript
JS装饰器函数用法总结
2018/04/21 Javascript
vue组件之间通信实例总结(点赞功能)
2018/12/05 Javascript
vue 路由meta 设置导航隐藏与显示功能的示例代码
2020/09/04 Javascript
用Nodejs实现在终端中炒股的实现
2020/10/18 NodeJs
Python中使用logging模块打印log日志详解
2015/04/05 Python
Python利用ansible分发处理任务
2015/08/04 Python
Python语言描述连续子数组的最大和
2018/01/04 Python
详解将Python程序(.py)转换为Windows可执行文件(.exe)
2019/07/19 Python
python之array赋值技巧分享
2019/11/28 Python
使用python matplotlib 画图导入到word中如何保证分辨率
2020/04/16 Python
CSS3教程(7):CSS3嵌入字体
2009/04/02 HTML / CSS
CSS3教程:新增加的结构伪类
2009/04/02 HTML / CSS
CSS3 网页下拉菜单代码解释 中文翻译
2010/02/27 HTML / CSS
英语专业毕业个人求职自荐信
2013/09/21 职场文书
法学毕业生自我鉴定
2014/01/31 职场文书
大学军训感言1500字
2014/03/09 职场文书
初三新学期计划书
2014/05/03 职场文书
介绍信模板
2015/01/31 职场文书
公司周年庆寄语
2019/06/21 职场文书
利用前端HTML+CSS+JS开发简单的TODOLIST功能(记事本)
2021/04/13 Javascript