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线程池的实现实例
Nov 18 Python
python中正则表达式的使用详解
Oct 17 Python
Python使用scrapy采集数据时为每个请求随机分配user-agent的方法
Apr 08 Python
Mac中升级Python2.7到Python3.5步骤详解
Apr 27 Python
Python删除Java源文件中全部注释的实现方法
Aug 30 Python
浅谈python中copy和deepcopy中的区别
Oct 23 Python
Python Sympy计算梯度、散度和旋度的实例
Dec 06 Python
python操作yaml说明
Apr 08 Python
Jupyter notebook设置背景主题,字体大小及自动补全代码的操作
Apr 13 Python
Django利用elasticsearch(搜索引擎)实现搜索功能
Nov 26 Python
Python 装饰器(decorator)常用的创建方式及解析
Apr 24 Python
Python使用plt.boxplot()函数绘制箱图、常用方法以及含义详解
Aug 14 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/03/04 星际争霸
PHP遍历文件夹与文件类及处理类用法实例
2014/09/23 PHP
Laravel如何友好的修改.env配置文件详解
2017/06/07 PHP
Ecshop 后台添加新功能栏目及管理权限设置教程
2017/11/21 PHP
PHP实现cookie跨域session共享的方法分析
2019/08/23 PHP
php抽象方法和普通方法的区别点总结
2019/10/13 PHP
javascript 通用简单的table选项卡实现
2010/05/07 Javascript
JavaScript 以对象为索引的关联数组
2010/05/19 Javascript
javascript 通用loading动画效果实例代码
2014/01/14 Javascript
js 针对html DOM元素操作等经验累积
2014/03/11 Javascript
实现网页页面跳转的几种方法(meta标签、js实现、php实现)
2014/05/20 Javascript
用js闭包的方法实现多点标注冒泡示例
2014/05/29 Javascript
jQuery的图片滑块焦点图插件整理推荐
2014/12/07 Javascript
js控制输入框获得和失去焦点时状态显示的方法
2015/01/30 Javascript
JS实现鼠标箭头变成一个燃烧烛光效果的方法
2015/02/28 Javascript
基于javascript实现动态时钟效果
2020/08/18 Javascript
Bootstrap字体图标无法正常显示的解决方法
2016/10/08 Javascript
关于AngularJs数据的本地存储详解
2017/01/20 Javascript
layui use 定义js外部引用函数的方法
2019/09/26 Javascript
Vue实现腾讯云点播视频上传功能的实现代码
2020/08/17 Javascript
[04:22]DOTA2大事件之护国神翼
2020/08/14 DOTA
python更改已存在excel文件的方法
2018/05/03 Python
Django使用Mysql数据库已经存在的数据表方法
2018/05/27 Python
python3使用print打印带颜色的字符串代码实例
2019/08/22 Python
使用Python生成200个激活码的实现方法
2019/11/22 Python
完美解决python针对hdfs上传和下载的问题
2020/06/05 Python
python线程里哪种模块比较适合
2020/08/02 Python
python实现excel公式格式化的示例代码
2020/12/23 Python
初二物理教学反思
2014/01/29 职场文书
计算机学生求职信范文
2014/01/30 职场文书
幼儿园元旦活动感言
2014/03/02 职场文书
承诺书怎么写
2014/03/26 职场文书
《陈毅探母》教学反思
2014/05/01 职场文书
2016年小学六一儿童节活动总结
2016/04/06 职场文书
MySQL 全文索引使用指南
2021/05/25 MySQL
Grafana可视化监控系统结合SpringBoot使用
2022/04/19 Redis