python源码提取_Python提取Linux内核源代码的目录结构实现方法
今天用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内核源代码的目录结构实现方法相关推荐
- Linux 内核源代码的目录结构
Linux 内核源代码的目录结构 Linux 内核源代码包含如下目录. ● arch :包含和硬件体系结构相关的代码,每种平台占一个相应的目录,如i386.arm. arm64.powerpc.mip ...
- linux 修改内核源码,Source Insight阅读linux内核源代码——根据其他文章修改
由于Source Insight实质上是一个支持多种开发语言(java,c ,c++等等)的编辑器,只不过由于其查找.定位.彩色显示等功能的强大,而被我们当成源代码阅读工具使用. Step 2:新建项 ...
- python源码笔记_python源码学习笔记(一)
(一)python对象的基本实现 众所周之,python是个极其简洁高效的脚本语言,其设计思维之简洁,编写之简单,已成公认.想着深入了解内部机制,探索一下源代码,并记录一些东西.诚然,人总是健忘的,因 ...
- arch linux引导不启动_Linux 内核源代码的目录结构
内核技术点合集 Linux 内核源代码包括三个主要部分: 1. 内核核心代码,包括第 3 章所描述的各个子系统和子模块,以及其它的支撑子系统,例 如电源管理.Linux 初始化等 2. 其它非核心代码 ...
- Linux内核源代码分析-目录
第一部分 Linux 内核源代码 arch/i386/kernel/entry.S 2 arch/i386/kernel/init_task.c 8 arch/i386/kernel/irq.c 8 ...
- linux内核源码系统调用有多少个,Linux内核源码目录介绍
Linux的内核源代码可以从很多途径得到,我一般常常去kernel.org看看.一般来讲,在安装的linux系统下,usr/src/linux目录下的东西就是内核源代码.源码的版本号有一个非常简单的编 ...
- 跳一跳python源码下载_Python玩跳一跳【简】
准备环境: Windows 10: [有] 安卓手机 [有] python(版本建议3以上) adb驱动 依赖安装包 Python下载安装[官网下载并安装] 详情参见 pip安装 pip用于安装依赖包 ...
- python 源码保护_Python代码保护
Python等解释性脚本语言都需要源码明文存储,所以有两种情况需要考虑代码保护的问题: 代码逻辑的保护:代码本身有版权或者不能公开源代码 涉及用户名.密码等关键信息的配置 代码保护方法 Python代 ...
- 跳一跳python源码下载_python 微信跳一跳和源码解读
刚好周末,想研究一下前阵子很火的微信跳一跳 下面进入正文. 本文适用对象为WIN10系统,安卓用户.目的在于让丝毫没有接触过Python的小伙伴都能成功运行,如果你恰好是这样的对象,那么跟着我开始操作 ...
最新文章
- python爬虫简单实例-最简单爬虫示例(入门级)
- Java并发编程实战系列15之原子遍历与非阻塞同步机制(Atomic Variables and Non-blocking Synchronization)...
- JavaScript学习总结(12)——2016 年 7 个顶级 JavaScript 框架
- 华为机试HJ4:字符串分隔
- Node版本管理工具 - Nvm的下载、安装配置与使用
- linux 怎么关闭输入法快捷键设置方法,关闭输入法快捷键
- java高校贫困生助学贷款系统ssm框架
- 锂电池 保护板方案 中颖SH367309方案 原理图
- LT8618SX寄存器配置
- 【Ps2D】将PS图层导入Unity的插件
- LeetCode 股票问题买股票最佳时机ⅠⅡⅢⅣ 含手续费含冷冻期
- scl 转换gcc版本
- 克孜勒苏柯尔克孜自治州谷歌高清卫星地图下载
- 关于PAT报错:warning: ignoring return value of ‘scanf’, declared with attribute warn_unused_result
- Android O、N版本修改dex2oat编译选项,减少占用ROM空间或者加快安装速度
- 银河麒麟V10桌面系统卡于光标处无法进入系统解决方法
- 小米手机便签怎么看写了多少字 小米手机便签统计字数方法
- 传输门为什么是P/N双MOS结构
- 新西兰公司注册流程概括
- Linaro Ubuntu for Arndale Octa Broad Exynos 5420开发板,启动系统sd卡的制作。