python  要改动文件内容,经常使用 是先read。后write , 再 rename。非常不爽。

比方:须要 把       yuv_dir ="../HD/"   # "H:/HD_Master/1080i25/"

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

非常easy,但实际不好操作,由于read后文件指针就到后一行了。要使用seek到前一行等,非常不好。

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

那么,假设我们想改动之后马上写回文件,该怎么做呢?用什么模式打开?又怎么读写?

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

幸运的是,Python内置模块fileinput就能够轻松完毕。代码例如以下:

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

    line = line.replace("..","C:")    


    print line,


这样就实现了须要的目的,非常easy吧。

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

python改动文件内容,不须要read,write多个动作。的更多相关文章

  1. Python 输出文件内容到网络端口

    Python 输出文件内容到网络端口 $ cat mySocketTest.py import sys import time import socket if __name__ == "_ ...

  2. python 修改文件内容

    python 修改文件内容 一.修改原文件方式 1 def alter(file,old_str,new_str): 2 """ 3 替换文件中的字符串 4 :param ...

  3. python 修改文件内容3种方法

    原文链接:https://www.cnblogs.com/wc-chan/p/8085452.html def alter(file,old_str,new_str): ""&qu ...

  4. python ini文件内容的读取

    (1)新建一个项目,再次新建一个文件 test_cfg.ini (2)再次新建 get_test_cfg.py,用来读取/写入/更改 ini的文件内容 #!/usr/bin/env python # ...

  5. Python修改文件内容

    工作中要写个脚本来修改文件的内容,然后就写了一个刷子: #coding:utf8 import os def modify_file(old_file, new_version, old_versio ...

  6. Python读取文件内容与存储

    Python读取与存储文件内容 一..csv文件 读取: import pandas as pd souce_data = pd.read_csv(File_Path) 其中File_path是文件的 ...

  7. python 查找文件内容

    输入查找的文件夹路径,要查找的内容关键字(可以指定多个),要查找的文件类型(可以是多个),搜索出符合条件的文件,并记录所有符合条件的行号及行内容. 写的感觉有点冗余,但好歹还能使用^-^,主要是方便手 ...

  8. Python替换文件内容

    #!/usr/bin/env python import fileinput for line in fileinput.input('fansik',inplace=1): line = line. ...

  9. python 检索文件内容工具

    公司内部需求一个工具检索目录下的文件在另外的目录中使用次数, 用来优化包体的大小. 此代码效率并不高效, 另添加对应的 后缀检索. 用python 实现比较快速, 另还有缺点是只支持 utf-8 格式 ...

随机推荐

  1. vim打造简易C语言编辑器(在用2016.7.10)

    vim和C语言都需要长期的学习,才能够精通,我制作了这个简单的笔记,主要的作用是,不要在重复的,反复的找同一样东西了,积累是成功的关键. 1. 安装pathogen插件管理器. 在官网下载pathog ...

  2. Javascript玩转继承(一)

    Javascript究竟是一门面向对象的语言,还是一门支持对象的语言,我想每个人都有着自己的看法.那些Javascript忠实的Fans一定讲Javascript是一门面向对象的语言,像<Jav ...

  3. 在verilog中调用VHDL模块

    习惯了自己发现一些小问题,既然发现了,就记下来吧,不然又要忘了,这是多么悲痛的领悟. 今天在用vivado进行块设计时所生成的顶层模块居然是用VHDL语言描述的,这时郁闷了,表示只看过VHDL语法但没 ...

  4. Sublime Text 3 快捷鍵

    /*On OS X, basic text manipulations (left, right, command+left, etc) make use of the system key bind ...

  5. [Linux]运维三十六计--腾讯两位大神的总结

    这里是腾讯两位大神梁定安.周小军总记得运维DBA三十六计,So有道理

  6. brendangregg

    http://www.slideshare.net/brendangregg/presentations http://techblog.netflix.com/2015/07/java-in-fla ...

  7. seajs加载jquery插件

    假设有如下一个名为get-data的jq插件: (function($) { $.fn.getData= function() { console.log($(this).attr('data')) ...

  8. Cocos2d-x stack corruption detected: aborted

    adb logcat错误 :堆栈错误,,或者访问过界...通常不太好调试:: 但是以下两种情况最最常见: 1. ]; strcpy(aa,"abcdefghijk123457890" ...

  9. HTML5使用详解

    1.什么是HTML5 HTML5是新的HTML标准. 支持最新的Safari,Chrome,Firefox以及Opera,Ie9支持某些HTML5特性. 2.新建HTML5页面 <!DOCTYP ...

  10. vue轮播图插件vue-awesome-swiper的使用与组件化

    不管是APP还是移动端网页开发,轮播图在大部分项目当中都是存在的,这时候如果用vue开发项目,选择一款好的插件并且封装好是很重要的 1. 推荐使用vue-awesome-swiper 安装:cnpm ...