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抓取某汽车网数据解析html存入excel示例
Dec 04 Python
Python+django实现简单的文件上传
Aug 17 Python
在Pycharm中执行scrapy命令的方法
Jan 16 Python
Python中dict和set的用法讲解
Mar 28 Python
pytorch torch.expand和torch.repeat的区别详解
Nov 05 Python
python系统指定文件的查找只输出目录下所有文件及文件夹
Jan 19 Python
OpenCV 之按位运算举例解析
Jun 19 Python
python两种获取剪贴板内容的方法
Nov 06 Python
pycharm远程连接服务器并配置python interpreter的方法
Dec 23 Python
pandas apply使用多列计算生成新的列实现示例
Feb 24 Python
PyTorch 如何检查模型梯度是否可导
Jun 05 Python
一篇文章弄懂Python中的内建函数
Aug 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
杏林同学录(七)
2006/10/09 PHP
PHP上传图片进行等比缩放可增加水印功能
2014/01/13 PHP
php中filter_input函数用法分析
2014/11/15 PHP
php连接微软MSSQL(sql server)完全攻略
2016/11/27 PHP
php 数组元素快速去重
2017/05/05 PHP
Dojo 学习要点
2010/09/03 Javascript
jquery键盘事件介绍
2011/01/31 Javascript
windows系统下简单nodejs安装及环境配置
2013/01/08 NodeJs
JavaScript 处理Iframe自适应高度(同或不同域名下)
2013/03/29 Javascript
jQuery Validation Plugin验证插件手动验证
2016/01/26 Javascript
jQuery 全选 全部选 反选 实现代码
2016/08/17 Javascript
JavaScript面试题(指针、帽子和女朋友)
2016/11/23 Javascript
微信小程序 五星评分(包括半颗星评分)实例代码
2016/12/14 Javascript
bootstrap 表单验证使用方法
2017/01/11 Javascript
微信小程序实现通过js操作wxml的wxss属性示例
2018/12/06 Javascript
更强大的vue ssr实现预取数据的方式
2019/07/19 Javascript
python设置windows桌面壁纸的实现代码
2013/01/28 Python
Python中functools模块的常用函数解析
2016/06/30 Python
python 异或加密字符串的实例
2018/10/14 Python
python中通过selenium简单操作及元素定位知识点总结
2019/09/10 Python
解决pytorch-yolov3 train 报错的问题
2020/02/18 Python
python进行参数传递的方法
2020/05/12 Python
python--shutil移动文件到另一个路径的操作
2020/07/13 Python
python dir函数快速掌握用法技巧
2020/12/09 Python
使用css3匹配手机屏幕横竖状态
2014/01/27 HTML / CSS
化石印度尼西亚在线商店:Fossil Indonesia
2019/03/11 全球购物
解释下列WebService名词:WSDL、SOAP、UDDI
2012/06/22 面试题
护理毕业生自荐信范文
2013/12/22 职场文书
银行委托书范本
2014/04/04 职场文书
租房安全协议书
2014/08/20 职场文书
联谊活动总结
2014/08/28 职场文书
行政复议决定书
2015/06/24 职场文书
2016全国“质量月”活动标语口号
2015/12/26 职场文书
深入浅析React中diff算法
2021/05/19 Javascript
html5调用摄像头截图功能
2022/01/18 Javascript
win11自动弹出虚拟键盘怎么关闭? Win11关闭虚拟键盘的技巧
2023/01/09 数码科技