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遍历指定城市的一周气温
Mar 31 Python
详解Python pygame安装过程笔记
Jun 05 Python
Python3 实现随机生成一组不重复数并按行写入文件
Apr 09 Python
python机器学习之KNN分类算法
Aug 29 Python
用Python+OpenCV对比图像质量的几种方法
Jul 15 Python
python字符串分割及字符串的一些常规方法
Jul 24 Python
利用python计算windows全盘文件md5值的脚本
Jul 27 Python
Django框架创建项目的方法入门教程
Nov 04 Python
python 实现让字典的value 成为列表
Dec 16 Python
Python面向对象实现方法总结
Aug 12 Python
Python爬虫之Selenium中frame/iframe表单嵌套页面
Dec 04 Python
bat批处理之字符串操作的实现
Mar 16 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
咖啡因含量是由谁决定的?低因咖啡怎么来?低因咖啡适合什么人喝
2021/03/06 新手入门
PHP中实现图片的锐化
2006/10/09 PHP
使用数据库保存session的方法
2006/10/09 PHP
探讨:web上存漏洞及原理分析、防范方法
2013/06/29 PHP
PHP中判断变量为空的几种方法分享
2013/08/26 PHP
windows下安装php的memcache模块的方法
2015/04/07 PHP
教你php如何实现验证码
2016/01/20 PHP
PHP5.2中PDO的简单使用方法
2016/03/25 PHP
php校验公钥是否可用的实例方法
2019/09/17 PHP
Yii框架数据库查询、增加、删除操作示例
2019/10/14 PHP
PHP常用字符串函数用法实例总结
2020/06/04 PHP
window.event.keyCode兼容IE和Firefox实现js代码
2013/05/30 Javascript
javascript获取所有同类checkbox选项(实例代码)
2013/11/07 Javascript
js加密解密字符串可自定义密码因子
2014/05/13 Javascript
浅谈js中子页面父页面方法 变量相互调用
2016/08/04 Javascript
JavaScript常用代码书写规范的超全面总结
2016/09/11 Javascript
JavaScript 随机验证码的生成实例代码
2016/09/22 Javascript
Angular的模块化(代码分享)
2016/12/26 Javascript
HTML5+Canvas调用手机拍照功能实现图片上传(下)
2017/04/21 Javascript
bootstrap table服务端实现分页效果
2017/08/10 Javascript
Js利用console计算代码运行时间的方法示例
2017/09/24 Javascript
angular4自定义组件详解
2017/09/28 Javascript
AngularJS实现注册表单验证功能
2017/10/16 Javascript
利用vue+elementUI实现部分引入组件的方法详解
2017/11/22 Javascript
浅谈webpack4 图片处理汇总
2018/09/12 Javascript
JS数组降维的实现Array.prototype.concat.apply([], arr)
2020/04/28 Javascript
[49:41]NB vs NAVI Supermajor小组赛A组 BO3 第一场 6.2
2018/06/03 DOTA
[02:01]2018完美盛典-开场舞《双子星》
2018/12/16 DOTA
Python面向对象编程中的类和对象学习教程
2015/03/30 Python
pygame游戏之旅 添加碰撞效果的方法
2018/11/20 Python
PyQt5-QDateEdit的简单使用操作
2020/07/12 Python
生产部厂长助理职位说明书
2014/03/03 职场文书
不忘国耻振兴中华演讲稿
2014/05/14 职场文书
岗位明星事迹材料
2014/05/18 职场文书
2015年度环卫处工作总结
2015/07/24 职场文书
Linux安装Nginx步骤详解
2021/03/31 Servers