`
jianghuren
  • 浏览: 2914 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

python实现修改文件中含有特定语句的行

阅读更多


#-*-coding: UTF-8 -*-

#得到文件夹中所有文件名称的列表
import os
def getFileList(p):
    p = str(p)
    if p =="":
        return []
    #p = p.replace('\\','\\\\')
    #linux下目录中用‘/’,windows下目录中用‘\\’
    if p[-1] != '/':
        p = p + '/'   
    file_list = []
    a = os.listdir(p)
    for i in a:
file_list.append(p + i)
    b = [x for x in file_list if os.path.isfile(x)]
    #判断是不是文件,把文件名称放入列表b中
    return b

## change the lines in the file
def change_lines( target_files, nav_template_path, ):
    nav = open( nav_template_path, 'r' ).readlines() 
   
    #修改文件中含有以下内容的行段
    start_line = 'title="国家重大科研项目"'
    end_line = 'title="PI 合作项目"'

    for target_file in target_files:
            f = open(target_file,'r')
            target_file_lines = f.readlines()           
            start_point = 0
            end_point = 0          
            for line in target_file_lines:
                if start_line in line:
                    start_point = target_file_lines.index( line )
                if end_line in line:
                     end_point = target_file_lines.index( line )
               break

            pre_part = target_file_lines[ :start_point ]
            end_part = target_file_lines[ (end_point+1): ]
            changed_target_lines = pre_part + nav + end_part
            f.close()

            new_file = open( target_file, 'w' )
            new_file.writelines( changed_target_lines )
            new_file.close()
#待修改的文件夹路径
file_path = '/home/mdc2/Desktop/MDC_websit2.0/module'
#将要替换成的内容所在文件的路径
template_path = '/home/mdc2/Desktop/nav_template'

FileList = getFileList(file_path)
change_lines( FileList,template_path)

分享到:
评论

相关推荐

    Python 实现字符串中指定位置插入一个字符

    举个例子,如果我们要处理一个文本文件,需要在文件的每一行末尾添加一个逗号,我们首先需要读取文件的每一行,将其转换为字符串,然后按照上述方法进行字符插入操作,最后把修改后的数据写回到文件中。 最后,文档...

    python快速入门教程chm

    Python提供了条件语句(if-else,elif)来实现基于特定条件的逻辑分支,以及循环结构(for,while)来重复执行代码块。for循环常用于遍历序列(列表、元组、字符串),while循环则在满足特定条件时持续执行。 函数...

    Python-基于Python37的简单的爬虫Demo

    7. **多线程或异步请求**:为了提高爬取效率,可以使用Python的`threading`库实现多线程爬取,或者使用`asyncio`库进行异步I/O操作。但需要注意的是,大量并发请求可能对目标网站造成压力,应遵循爬虫道德规范,合理...

    基于python实现的京东预约商品自动下单源码+项目说明.zip

    该压缩包文件的标题"基于python实现的京东预约商品自动下单源码+项目说明.zip"表明这是一个关于使用Python编程语言编写的京东预约商品自动化下单系统的源代码和相关项目说明文档。这个系统可能包括了网络爬虫、自动...

    python-语法入门笔记

    Python 的执行方式有多种,可以在一个地方添加一个“.txt”文件,然后在 cmd 中去到文件所在路径接着输入:“python 文件名.txt”,也可以直接输入“文件名.py”。 在 Python 中,表达式是一种类似于数学公式的语句...

    Python学习笔记.doc

    - 如果元组中含有列表,则该元组可以通过修改列表来实现间接修改。 - 示例: ```python t = ('a', 'b', ['A', 'B']) L = t[2] # 获取列表 L[0] = 'X' # 修改列表中的元素 ``` #### 五、条件语句 - **if ...

    python官方2.4.2.ia64版本msi安装包

    MSI包包含所有必要的文件、注册表信息和安装逻辑,使得用户能够简单地安装Python 2.4.2到IA-64系统的环境中。以下是关于这个安装包的详细知识: 1. **Python 2.4 版本特性**:Python 2.4在2005年发布,引入了许多新...

    Python库 | tmnt-0.6.1b20201218.tar.gz

    安装完成后,可以使用`import tmnt`语句在Python代码中引入这个库。 进一步了解tmnt库的具体功能和使用方法,我们需要查看其提供的文档、示例代码或者通过`help(tmnt)`命令在Python环境中获取帮助信息。如果库包含...

    python常见面试问题及答案

    - **导入特定函数或类**:使用 `from...import...` 语句来导入模块中的特定函数或类。 示例: ```python from math import sqrt print(sqrt(16)) ``` #### 四、高级特性 **9. Python 中的装饰器(decorator)...

    经典Python面试题之Python基础篇.docx

    ### 经典Python面试题知识点解析 #### 1. 为什么学习Python? - **易学性**: Python 的语法简洁明了,易于上手,适合初学者快速入门编程。 - **广泛应用**: 在数据科学、Web 开发、自动化脚本、网络爬虫等领域有着...

    python基础教程

    1. **导入模块**:在Python中,你可以通过`import`语句来导入需要的模块。如`import math`,之后使用`math.sqrt(16)`调用模块内的函数。此外,`from...import...`允许你直接导入特定方法或属性,如`from math import...

    Python自动办公实例-批量生成PPT版荣誉证书.zip

    在本实例中,"Python自动办公实例-批量生成PPT版荣誉证书.zip"是一个压缩包,其中包含了使用Python编程语言实现自动批量生成PPT版荣誉证书的教程或代码。这个项目可能是一个很好的学习资源,适合那些希望提升工作...

    清华大学精品Python学习PPT课件-第7章 Python模块.rar

    Python模块是Python编程中的核心概念,它允许我们将代码组织成逻辑块,便于代码重用、管理和维护。在清华大学的精品Python学习课程中,第7章专门讲解了这一关键主题。以下是对这一章节内容的详细概述。 1. **模块的...

    Python从入门到进阶知识手册 1885页

    根据给定文件的信息,我们可以提炼出一系列关于Python的基础知识、进阶技巧以及一些特定知识点的详细解释。以下是对这些知识点的归纳整理: ### Python基础知识 #### 为什么学习Python? - Python 是一种简单易学...

    第14届蓝桥杯Python省赛真题-大学B组

    注意,`oct()`返回的是八进制表示,但可以通过简单修改实现四进制表示。 - **数位之和计算**:遍历转换后的字符串,累加每个字符(视为数字)的值。 - **循环结构**:使用for循环遍历力量值范围。 - **条件判断**...

    Python库 | WeatherInfo-1.02.tar.gz

    Python库的核心通常包括`.py`文件,这些文件含有可重用的函数和类,以及可能的模块、脚本或测试。WeatherInfo库可能包含以下组成部分: 1. **主模块(如weatherinfo.py)**:这个模块可能提供了与天气信息相关的主...

    python项目实例代码源码- Excel统计每位同学总分.zip

    在本Python项目实例中,我们将探讨如何利用Python处理Excel数据,特别是统计每位同学的总分。这个项目的核心是使用Python的pandas库,一个强大的数据分析工具。通过学习这个实例,你可以掌握以下几个关键知识点: 1...

    Python 导入文件过程图解

    在Python编程中,导入文件是十分常见的操作,它允许我们重用代码、组织项目结构以及构建复杂的软件系统。本文将详细解析Python导入文件的过程,并针对标题和描述中的三种情况逐一展开。 1. 同级目录下调用 当我们...

    Python库 | FoLiA-tools-0.10.0.15.tar.gz

    例如,你可以使用FoLiA-tools解析一个含有复杂语言学标注的文档,然后提取其中的特定信息,或者对这些信息进行修改,最后再将结果保存回FoLiA格式的文件。这样的能力对于语言学家、自然语言处理研究者以及需要处理...

Global site tag (gtag.js) - Google Analytics