python修改文件内容,不需要read,write多个动作。

python  要修改文件内容,常用 是先read,后write , 再 rename,很不爽。

比如:需要 把       yuv_dir ="../HD/"   # "H:/HD_Master/1080i25/"

                改为       yuv_dir ="C:/HD/"   # "H:/HD_Master/1080i25/"



很简单,但实际不好操作,因为read后文件指针就到后一行了,要使用seek到前一行等,很不好。



很多应用多需要处理文件,而处理文件有一个固定的模式:打开文件,读入一些数据,处理这些数据,打印到屏幕上或写入另一个文件。

那么,如果我们想修改之后立即写回文件,该怎么做呢?用什么模式打开?又怎么读写?

我个人尝试了很多中方法,不是无法实现,就是操作非常麻烦。最终放弃。

幸运的是,Python内置模块fileinput就可以轻松完成。代码如下:


for line  in fileinput.input("case_1_gaoqing.py",inplace=1):
    line = line.replace("..","C:")    
    print line,

这样就实现了需要的目的,很简单吧。


关于更多fileinput的资料,在这里http://docs.python.org/library/fileinput.html


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/447307.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Atomic系列类

Atomic系列类别 Atomic系列类封装了一系列的基础类型和对象操作,其主要目的就是为了实现原子性,主要核心类如下 AtomicIntegerAtomicLongAtomicBooleanAtomicIntegerArrayAtomicLongArrayAtomicReference 原子性的引用对象在对Atomic类操作的时候&…

python 系统学习笔记(十二)---os os.path os.walk

得到当前工作目录,即当前 Python脚本工作的目录路径: os.getcwd() 返回指定目录下的所有文件和目录名:os.listdir()函数用来删除一个文件:os.remove()删除多个目录:os.removedirs(r“c:\python”)检验给出的路径是否是…

Java JUC工具类--CountDownLatch

CountDownLatch:用于监听某些初始化操作,并且线程进行阻塞,等初始化执行完毕后,通知主线程继续工作执行 package com.example.core.juc;import java.util.concurrent.CountDownLatch;public class UseCountDownLatch {public stat…

Java JUC工具类--CyclicBarrier

CyclicBarrier:栅栏的概念,多线程的进行阻塞,等待某一个临界值条件满足后,同时执行 类比:每个线程代表一个跑步运动员,当运动员都准备好后,才一起出发,只要有一个人没有准备好&#…

人生感悟:人生像吃自助餐

问我怎样管理欲望,过简单生活?我的答案是:你要先学会品味人生,品味的同义词,就叫做体悟内涵。 人为什么有这么多欲望?其实,我们每个人在一个社会,就像进入一个自助餐(buffet)店,食物非常的多…

Java JUC工具类--Future

Future模式,也是非常经典的设计模式,这种模式主要就利用空间换时间的概念,也就是说异步执行(需要开启一个新的线程)在互联网高并发的应用服务中,我们随处可见这种理念和代码,主要就是使用了这种…

职场与生活 八条原则 让你不再浪费时间和提高效率

Heidi Roizen女士一度是硅谷人人争相学习的典范。她曾创办自己的公司并管理了14年之久。后来,她担任苹果公司主管开发者关系的高级副总裁。现在,她是DFJ Venture的一位风投家,她还在斯坦福主讲一门名叫‌‌“企业家精神‌‌”的课程。她几乎认…

Java JUC工具类--Exchanger

Exchanger Exchanger用于进行线程间的数据交换,它提供一个同步点,在这个同步点,两个线程可以交换彼此的数据两个线程通过exchange方法交换数据,如果一个线程先执行exchange方法,它会一直等待第二个线程也执行exchang…

爸爸的素质决定孩子飞多高,爸爸们请反复看!!!

好父亲等于200个好老师,当爹的都好好看看,以后孩子不给力别怨别人! 孩子是父亲的影子,希望每个阅读完全文的父亲,都能成为一个好父亲。 NO.1爸爸是孩子最好的老师 爸爸的素质有多高,孩子就能飞多高 用理性的父爱帮…

Java JUC工具类--ForkJoin

ForkJoin Fork/Join框架是JAVA7提供的一个用于并行执行任务的框架,是一个把大任务分割成若干个小任务,最终汇总每个小任务结果后得到大任务结果的框架Fork/Join中两个重要的类 ForkJoinTask:使用该框架,需要创建一个ForkJoin任务…

修复bug的12个关键步骤

要多少时间才能修复bug,事先是很难知道的,特别是如果你和这些代码还素不相识的话,情况就更加扑朔迷离了。James Shore在《The Art of Agile 》一书中,明确指出要想修复问题得先知道问题的所在。而我们之所以无法准确估计时间是因为…

Java JUC工具类--Master-Worker

Master-Worker Master-Worker模式是常用的并行计算模式。它的核心思想是系统由两类进程协作工作:Master进程和Worker进程Master负责接收和分配任务,Worker负责处理子任务当各个Worker子进程处理完成后,会将结果返回给Master,由Ma…

身体打来的电话,你一定要接!

心脏有问题时。左边手臂会酸、麻、痛。肝脏有问题时。小腿晚上睡觉时容易抽筋。肾脏出现问题时。声音就会出不来,就会沙哑。脾胃出现问题时。偏头痛。附:五脏排毒最简单有效的方法 一、心脏有问题时 1。呼吸会不顺畅,胸口会闷也会刺痛&…

Java JUC工具类--Semaphore

Semaphore 在Semaphore信号量非常适合高并发访问限制,新系统在上线之前,要对系统的访问量进行评估,评估是经过以往的经验、数据、历年的访问量,已经推广力度进行一个合理的评估当然评估标准不能太大也不能太小,太大的…

python 基础知识点整理 和具体应用

Python教程 Python是一种简单易学,功能强大的编程语言。它包括了高效的高级数据结构和简单而有效的方法,面向对象编程。Python优雅的语法,动态类型,以及它天然的解释能力,使其成为理想的语言,脚本和应用程序…

Java 线程池相关问题

线程池的拒绝策略 AbortPolicy:直接抛出异常阻止系统正常工作。CallerRunsPolicy:只要线程池未关闭,该策略直接在调用者线程中,运行当前被丢弃的任务。DiscardOldestPolicy:丢弃最老的一个请求,尝试再次提…

对编程人员我想说:多做 多实践 多写代码

有很多人问我,怎样提高自己的能力?有初学者,有水平达到一定程度的程序员。 我想说,不要过多的看代码,看计算机理论,看别人写的文章,代码等,最重要的是自己理解了某个原理&#xff0c…

读人是基础,看人是关键,做人最重要

人生在世,读人是基础,看人是关键,做人最重要。 一、读人——一个人就是一本书。读人,比读其他文字的书更难。在生活中,每个人都是书,每人又都是读者。我们认认真真地读,读了大半辈子&#xff0c…

使用postman模拟百度通用文字识别

1,登录百度AI开放平台 百度AI网站新手指南链接在顶部导航栏中,找到控制台选项,输入账号和密码,进入管理中心页面在管理中心页面中,找到文字识别的选项找到创建应用的选项,进行ocr项目的创建需要输入应用的…