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之用Python计算
Sep 12 Python
Python标准库defaultdict模块使用示例
Apr 28 Python
pymongo给mongodb创建索引的简单实现方法
May 06 Python
在Django的模板中使用认证数据的方法
Jul 23 Python
python3实现抓取网页资源的 N 种方法
May 02 Python
django admin添加数据自动记录user到表中的实现方法
Jan 05 Python
Python合并多个Excel数据的方法
Jul 16 Python
python 列表推导式使用详解
Aug 29 Python
python GUI库图形界面开发之pyinstaller打包python程序为exe安装文件
Feb 26 Python
Django中使用Json返回数据的实现方法
Jun 03 Python
Python 字典中的所有方法及用法
Jun 10 Python
python中的测试框架
Nov 13 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之第六天
2006/10/09 PHP
linux实现php定时执行cron任务详解
2013/12/24 PHP
php中利用explode函数分割字符串到数组
2014/02/08 PHP
在Laravel5中正确设置文件权限的方法
2019/05/22 PHP
Javascript 学习书 推荐
2009/06/13 Javascript
入门基础学习 ExtJS笔记(一)
2010/11/11 Javascript
解决js正则匹配换行问题实现代码
2012/12/10 Javascript
jquery实现excel导出的方法
2013/04/04 Javascript
JS动态添加Table的TR,TD实现方法
2015/01/28 Javascript
使用pjax实现无刷新更改页面url
2015/02/05 Javascript
利用JQuery写一个简单的异步分页插件
2016/03/07 Javascript
JavaScript面试题(指针、帽子和女朋友)
2016/11/23 Javascript
Angular.js初始化之ng-app的自动绑定与手动绑定详解
2017/07/31 Javascript
使用jquery的jsonp如何发起跨域请求及其原理详解
2017/08/17 jQuery
浅谈vuex之mutation和action的基本使用
2017/08/29 Javascript
JavaScript实现的文本框placeholder提示文字功能示例
2018/07/25 Javascript
iview实现图片上传功能
2020/06/29 Javascript
[54:45]2018DOTA2亚洲邀请赛 4.1 小组赛 A组 Optic vs OG
2018/04/02 DOTA
Python socket C/S结构的聊天室应用实现
2014/11/30 Python
Python3 queue队列模块详细介绍
2018/01/05 Python
PyTorch中topk函数的用法详解
2020/01/02 Python
python利用tkinter实现图片格式转换的示例
2020/09/28 Python
HTML5标签小集
2011/08/02 HTML / CSS
意大利专业化妆品品牌:KIKO MILANO
2017/02/01 全球购物
Nike台湾官方商店:Nike.com (TW)
2017/08/16 全球购物
GE设备配件:GE Appliance Parts(家电零件、配件和滤水器)
2018/11/28 全球购物
俄罗斯香水和化妆品在线商店:Aroma-butik
2020/02/28 全球购物
小班开学寄语
2014/04/04 职场文书
小区推广策划方案
2014/06/06 职场文书
行政执法队伍作风整顿个人剖析材料
2014/10/11 职场文书
烟台的海导游词
2015/02/02 职场文书
房地产公司工程部经理岗位职责
2015/04/09 职场文书
2015年领导干部廉洁自律工作总结
2015/05/26 职场文书
保护动物的宣传语
2015/07/13 职场文书
MySQL 隔离数据列和前缀索引的使用总结
2021/05/14 MySQL
Java实现多线程聊天室
2021/06/26 Java/Android