zoukankan      html  css  js  c++  java
  • 文件操作的文件修改

    文件操作改的流程: 1, 以读的模式打开原文件。 2,以写的模式创建一个新文件。 3,将原文件的内容读 出来修改成新内容,写入新文件。 4,将原文件删除。 5,将新文件重命名成原文件。

    import os
    # 1, 以读的模式打开原文件。
    # 2,以写的模式创建一个新文件。
    with open('alex自述',encoding='utf-8') as f1,
            open('alex自述.bak',encoding='utf-8',mode='w') as f2:
    # 3,将原文件的内容读出来修改成新内容,写入新文件。
        for line in f1:
    # 第一次循环 SB是老男孩python发起人,创建人。
        	new_line = line.replace('SB', 'alex')
    		f2.write(new_line)
    os.remove('alex自述')
    os.rename('alex自述.bak','alex自述')
    # 有关清空的问题:
    # 关闭文件句柄,再次以w模式打开此文件时,才会清空。
    # with open('文件的写', encoding='utf-8',mode='w') as f1:
    # for i in range(9):
    # f1.write('恢复贷款首付款')
    

      

    优点1: 不用手动关闭文件句柄
    # with open('文件的读',encoding='utf-8') as f1:
    # print(f1.read())
    # 优点2:
    with open('文件的读', encoding='utf-8') as f1,
    open('文件的写', encoding='utf-8', mode='w')as f2:
    print(f1.read())
    f2.write('hfdsjkghkajhsdjg')


      **缺点:这里要注意一个问题,虽然使用with语句方式打开文件,不用你手动关闭文件句柄,比较省事儿,但是依靠其自动关闭文件句柄,是有一段时间的,这个时间不固定,所以这里就会产生问题,如果你在with语句中通过r模式打开文件,那么你在下面又以a模式打开文件,此时有可能你第二次打开文件时,第一次的文件句柄还没有关闭掉,可能就会出现错误,他的解决方式只能在你第二次打开此文件前,手动关闭上一个文件句柄。**

  • 相关阅读:
    Centos7安装Python3
    mysql+centos7+主从复制
    Python开发之virtualenv和virtualenvwrapper详解
    Linux基础系统优化(二)
    Linux基础系统优化(一)
    Windows 10版本区别
    HTML5常用的语义化标签
    关于efk多服务器多日志合并收集
    离线状态安装docker容器
    Docker部署jenkins+sonar+gitlab代码检测系统
  • 原文地址:https://www.cnblogs.com/biu-py/p/10993841.html
Copyright © 2011-2022 走看看