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 相关文章推荐
详解Python2.x中对Unicode编码的使用
Apr 03 Python
python解决方案:WindowsError: [Error 2]
Aug 28 Python
python使用opencv进行人脸识别
Apr 07 Python
Pycharm学习教程(3) 代码运行调试
May 03 Python
python如何使用正则表达式的前向、后向搜索及前向搜索否定模式详解
Nov 08 Python
对Python3 序列解包详解
Feb 16 Python
实例详解Matlab 与 Python 的区别
Apr 26 Python
面向新手解析python Beautiful Soup基本用法
Jul 11 Python
python如何获取网络数据
Apr 11 Python
Python 中的Sympy详细使用
Aug 07 Python
Python学习开发之图形用户界面详解
Aug 23 Python
Python实现信息管理系统
Jun 05 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新手用的Insert和Update语句构造类
2012/03/31 PHP
PHP中递归的实现实例详解
2017/11/14 PHP
PHP实现十进制数字与二十六进制字母串相互转换操作示例
2018/08/10 PHP
php使用curl_init()和curl_multi_init()多线程的速度比较详解
2018/08/15 PHP
PHP实现小程序批量通知推送
2018/11/27 PHP
javascript获取URL参数与参数值的示例代码
2013/12/20 Javascript
利用函数的惰性载入提高javascript代码执行效率
2014/05/05 Javascript
禁用Enter键表单自动提交实现代码
2014/05/22 Javascript
jQuery控制的不同方向的滑动(向左、向右滑动等)
2014/07/18 Javascript
javascript实现的一个随机点名功能
2014/08/26 Javascript
javascript在IE下trim函数无法使用的解决方法
2014/09/12 Javascript
JavaScript控制图片加载完成后调用回调函数的方法
2015/03/20 Javascript
JS实现可自定义大小,可双击关闭的弹出层效果
2015/10/16 Javascript
浅谈javascript中的Function和Arguments
2016/08/30 Javascript
yarn与npm的命令行小结
2016/10/20 Javascript
vue代理和跨域问题的解决
2018/07/18 Javascript
Vuex 在Vue 组件中获得Vuex 状态state的方法
2018/08/27 Javascript
微信小程序实现录音时的麦克风动画效果实例
2019/05/18 Javascript
Vue中rem与postcss-pxtorem的应用详解
2019/11/20 Javascript
使用vuex较为优雅的实现一个购物车功能的示例代码
2019/12/09 Javascript
JS表单验证插件之数据与逻辑分离操作实例分析【策略模式】
2020/05/01 Javascript
Js on及addEventListener原理用法区别解析
2020/07/11 Javascript
[01:35:13]DOTA2-DPC中国联赛 正赛 DLG vs PHOENIX BO3 第一场 1月18日
2021/03/11 DOTA
理解生产者消费者模型及在Python编程中的运用实例
2016/06/26 Python
python executemany的使用及注意事项
2017/03/13 Python
Python 快速实现CLI 应用程序的脚手架
2017/12/05 Python
python用plt画图时,cmp设置方法
2018/12/13 Python
python Tcp协议发送和接收信息的例子
2019/07/22 Python
Python sklearn库实现PCA教程(以鸢尾花分类为例)
2020/02/24 Python
JAVA及PYTHON质数计算代码对比解析
2020/06/10 Python
详解Python直接赋值,深拷贝和浅拷贝
2020/07/09 Python
开办饭店创业计划书
2013/12/28 职场文书
毕业生银行实习自我鉴定
2014/10/14 职场文书
2014年办公室文员工作总结
2014/11/12 职场文书
出国导师推荐信
2015/03/25 职场文书
css3属性选择器 “~”(波浪号) “,”(逗号) “+”(加号)和 “>”(大于号)
2022/04/19 HTML / CSS