今天用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提取Linux内核源代码的目录结构实现方法相关推荐

  1. Linux 内核源代码的目录结构

    Linux 内核源代码的目录结构 Linux 内核源代码包含如下目录. ● arch :包含和硬件体系结构相关的代码,每种平台占一个相应的目录,如i386.arm. arm64.powerpc.mip ...

  2. linux 修改内核源码,Source Insight阅读linux内核源代码——根据其他文章修改

    由于Source Insight实质上是一个支持多种开发语言(java,c ,c++等等)的编辑器,只不过由于其查找.定位.彩色显示等功能的强大,而被我们当成源代码阅读工具使用. Step 2:新建项 ...

  3. python源码笔记_python源码学习笔记(一)

    (一)python对象的基本实现 众所周之,python是个极其简洁高效的脚本语言,其设计思维之简洁,编写之简单,已成公认.想着深入了解内部机制,探索一下源代码,并记录一些东西.诚然,人总是健忘的,因 ...

  4. arch linux引导不启动_Linux 内核源代码的目录结构

    内核技术点合集 Linux 内核源代码包括三个主要部分: 1. 内核核心代码,包括第 3 章所描述的各个子系统和子模块,以及其它的支撑子系统,例 如电源管理.Linux 初始化等 2. 其它非核心代码 ...

  5. Linux内核源代码分析-目录

    第一部分 Linux 内核源代码 arch/i386/kernel/entry.S 2 arch/i386/kernel/init_task.c 8 arch/i386/kernel/irq.c 8 ...

  6. linux内核源码系统调用有多少个,Linux内核源码目录介绍

    Linux的内核源代码可以从很多途径得到,我一般常常去kernel.org看看.一般来讲,在安装的linux系统下,usr/src/linux目录下的东西就是内核源代码.源码的版本号有一个非常简单的编 ...

  7. 跳一跳python源码下载_Python玩跳一跳【简】

    准备环境: Windows 10: [有] 安卓手机 [有] python(版本建议3以上) adb驱动 依赖安装包 Python下载安装[官网下载并安装] 详情参见 pip安装 pip用于安装依赖包 ...

  8. python 源码保护_Python代码保护

    Python等解释性脚本语言都需要源码明文存储,所以有两种情况需要考虑代码保护的问题: 代码逻辑的保护:代码本身有版权或者不能公开源代码 涉及用户名.密码等关键信息的配置 代码保护方法 Python代 ...

  9. 跳一跳python源码下载_python 微信跳一跳和源码解读

    刚好周末,想研究一下前阵子很火的微信跳一跳 下面进入正文. 本文适用对象为WIN10系统,安卓用户.目的在于让丝毫没有接触过Python的小伙伴都能成功运行,如果你恰好是这样的对象,那么跟着我开始操作 ...

最新文章

  1. python爬虫简单实例-最简单爬虫示例(入门级)
  2. Java并发编程实战系列15之原子遍历与非阻塞同步机制(Atomic Variables and Non-blocking Synchronization)...
  3. JavaScript学习总结(12)——2016 年 7 个顶级 JavaScript 框架
  4. 华为机试HJ4:字符串分隔
  5. Node版本管理工具 - Nvm的下载、安装配置与使用
  6. linux 怎么关闭输入法快捷键设置方法,关闭输入法快捷键
  7. java高校贫困生助学贷款系统ssm框架
  8. 锂电池 保护板方案 中颖SH367309方案 原理图
  9. LT8618SX寄存器配置
  10. 【Ps2D】将PS图层导入Unity的插件
  11. LeetCode 股票问题买股票最佳时机ⅠⅡⅢⅣ 含手续费含冷冻期
  12. scl 转换gcc版本
  13. 克孜勒苏柯尔克孜自治州谷歌高清卫星地图下载
  14. 关于PAT报错:warning: ignoring return value of ‘scanf’, declared with attribute warn_unused_result
  15. Android O、N版本修改dex2oat编译选项,减少占用ROM空间或者加快安装速度
  16. 银河麒麟V10桌面系统卡于光标处无法进入系统解决方法
  17. 小米手机便签怎么看写了多少字 小米手机便签统计字数方法
  18. 传输门为什么是P/N双MOS结构
  19. 新西兰公司注册流程概括
  20. Linaro Ubuntu for Arndale Octa Broad Exynos 5420开发板,启动系统sd卡的制作。

热门文章

  1. 中科院博士返乡卖汉服:3个月卖了300万,预计全年能破1500万
  2. 新当选ACM Fellow李向阳教授:心有理想 向阳而生
  3. 夜读丨72名研究生被清退:孩子,你前半生偷的懒,后半生得拼命还
  4. 清华美女学霸数学笔记曝光, 精美程度无与伦比
  5. 致诺奖得主:低报酬、超工时,为什么我们要追求科学事业?
  6. 欧拉:他停止了生命和计算
  7. java监听数据库操作_第十六篇——JDBC操作数据库之监听器
  8. 【待解答】文件目录可以利用foreach边遍历边删除操作,为什么?
  9. socket网络编程tcp
  10. 拥抱云原生,Fluid结合JindoFS :阿里云OSS加速利器