为了避免打开文件后忘记关闭,可以通过管理上下文,即:

with open('log','r') as f:        f.write('xxxxxx')f.readlines()...................

如此方式,当with代码块执行完毕时,内部会自动关闭并释放文件资源。

以往我们打开文件一般用如下方法:

obj = open('log','r')
obj.write('abcdefg')
obj.close()

如果运用with,则可以将上述代码改写为:

with open('log','r') as f:f.write('abcdefg')f.readlines()

另外在Python2.7之后支持能同时打开多个文件,即:

with open('file1','r') as  obj1,open('file2','w')  as  obj2

示例代码:(修改配置文件)

with open('log1','r') as obj1, open('log2','w') as obj2:for line in obj1:new_line = line.replace('10.0.0.10','10.0.0.100')obj2.write(new_line)

后面再继续check 测试,如果测试通过,则可以将log1改名为log1.bak,log2改名为log1,这样就完成了

配置文件的修改

转载于:https://blog.51cto.com/ucode/1719396

with管理文件操作相关推荐

  1. 代码组织和部署 文件操作 node.js

    代码组织和部署 模块的路径解析规则 require支持/或者盘符的绝对路径,也支持./开头的相对地址 同时require也支持第三种写法 内置模块 如果传递给require的函数是node.js的内置 ...

  2. 代码组织和部署 文件操作 node.js 1

    代码组织和部署 模块的路径解析规则 require支持/或者盘符的绝对路径,也支持./开头的相对地址 同时require也支持第三种写法 内置模块 如果传递给require的函数是node.js的内置 ...

  3. python写文件追加 按行追加_Python3 自学第14天:文件操作,文件句柄,上下文管理器...

    前面我们了解了Python的异常处理和自定义异常,今天我们了解下Python的文件操作: 首先Python对文件的处理并不是直接操作的,而是去调用操作系统接口方法间接操作文件的,这样做的目的是为了确保 ...

  4. LevelDB 源码剖析(三)公共基础:内存管理、数值编码、Env家族、文件操作

    文章目录 内存管理 Arena 结构 内存分配 内存使用率统计 TCMalloc Env家族 PosixEnv EnvWrapper InMemoryEnv 文件操作 SequentialFile W ...

  5. python引入文件并执行_文件操作和导入os模块执行文件和目录管理操作

    文件概念以及文本文件和二进制文件的区别 计算机的CPU如果想要访问保存在磁盘上的文件,第一步需要把磁盘上的文件数据加载到内存中.因为内存的读写速度要比磁盘的读写速度快很多. 计算机只能识别0101这种 ...

  6. Day 3 Linux(目录篇 、文件操作篇 、压缩解压相关命令, 编辑器vi 、编译器gcc 、调试器gdb、 makefile工程管理器初学)

    一.目录篇: 1.文件处理命令:cp 英文原意:copy 语法:cp -rp[源文件或目录][目的目录] 源文件可以同时是多个,即同时复制到多个文件 -r 复制目录 -p保留文件属性,比如文件创建时间 ...

  7. win32 24内存管理和文件操作

    Change the world by program 内存管理基础 Win32 中的内存管理是分层次的,系统提供了几组层次不同的函数来管理内存,它们是标准内存管理函数.堆管理函数.虚拟内存管理函数和 ...

  8. Linux操作与管理文件(多次打开同一文件,文件共享,fcntl函数,标准IO库)

    1.linux系统如何管理文件 硬盘中的静态文件和inode: (1)硬盘分为两大区域:一个是硬盘内容管理表项,另一个是真正存储内容的区域.先去读取硬盘内容管理表,找到要访问的存储内容的区域,再用得到 ...

  9. Linux的基本文件操作及用户管理

    首先接上篇博客,继续讲文件的操作,然后再讲对用户的操作. 文件操作 显示文件相关信息 ls   <option>    显示文件信息,这里的参数不是必选项,可以根据自己的需求选择,当然参数 ...

最新文章

  1. 第88天:HTML5中使用classList操作css类
  2. 排序算法以及其java实现
  3. 带你反编译APP然后重新打包「MacOS」
  4. python-opencv图像处理之用于跟踪的Shi-Tomasi拐角探测器
  5. python网络爬虫软件哪个好用_好好学Python,入门网络爬虫之精华版!
  6. 阿里王帅回应“马云被印度法院传唤”:马云太难找,要去HHB酒吧试试
  7. HTML5特性system,HTML5教程 FileSystemAPI整理
  8. mysql hang and srv_error_monitor_thread using 100% cpu(已解决)
  9. WebResource.axd引起的问题
  10. Delphi XE 10.2.3如何添加PDF阅读器组件
  11. Unity Shader-深度相关知识总结与效果实现(LinearDepth,Reverse Z,世界坐标重建,软粒子,高度雾,运动模糊,扫描线效果)
  12. html播放flv直播源,http-flv 直播
  13. git push或git pull等其他git命令 出现unable to access ‘https://gitee.com/你的git仓库地址)清除网络代理
  14. 如何免费下载网页中的文档
  15. 真无线蓝牙耳机哪个音质最好?2021入门级蓝牙耳机排行榜!
  16. 新CSDN文章转成PDF、打印(去空白)
  17. 九连环的递归实现,以及数列通项
  18. 《MySQL高级篇》八、索引优化与查询优化
  19. 4.操作卡片和OBU的指令以及流程
  20. C语言-浅谈文件IO

热门文章

  1. Swift开发图解入门
  2. 洛谷 2921 记忆化搜索 tarjan 基环外向树
  3. Finereport集群配置
  4. Android下实现GPS定位服务
  5. 【原创-长文】openstack 版本D安装配置及本次安装中遇到的问题
  6. [转]VS2010中的单元测试
  7. STM32 ADC转换实验
  8. JAVA生产环境验证_Java生产环境下性能监控与调优详解
  9. 利用福禄克DSX系列测试仪部署MPTL模块化插头端接链路
  10. MYSQL中最基础的的聚合函数(avg求平均值及count求和)