zoukankan      html  css  js  c++  java
  • Python基础(三)文件操作

    【对文件进行循环操作】

    fw = open('nhy','w')

    for line in fw:  

      print('line:',line)   #直接循环文件对象,每次循环的时候就是取每一行的数据

    fw.flush()    #把缓冲区里面的数据立即写到磁盘上。

    with open('nhy','w') as fw, open('nhy2','w') as fw2 :       #使用with,可以自动关闭文件,待文件使用完后(用with打开多个文件的写法)
      fw.read()
      fw.write('xxx')

    【文件修改】

    **思路一:简单粗暴直接

    1、先获取到文件里面所有的内容
    2、然后修改内容
    3、清空原来文件里面的内容
    4、重新写入

    eg:将文件中的123替换为Python
     f = open('users.txt','a+')
     f.seek(0)
     all_data = f.read()
     new_data = all_data.replace('123','python')
     f.seek(0)
     f.truncate()    #清空文件内容
     f.write(new_data)
     f.flush()
     f.close()

    **思路二:高效的处理方式

    1、先打开原来的文件,再打开一个空文件
    2、循环处理原来文件里面每一行数据,处理完之后,写到新文件里面
    3、把原来的文件删除,把新文件的名字改成原来文件的名字

    eg:修改文件,满足如下要求:

    1、前面的空格
    2、把空行去掉
    3、你替换you
    4、写到新文件里
    5、把原来的文件删除,把新文件的名字改成原来文件的名字
          import os
          with open('words',encoding='utf-8') as fr, open('.words','w',encoding='utf-8') as fw:
       for line in fr:
        line = line.lstrip() #去掉左边的空格
        if line:#判断这一行是否有数据
        line = line.replace('你','you')#替换数据
        fw.write(line)#写到新文件里面

      os.remove('words')#删除原来的文件
      os.rename('.words','words') #把新文件的名字改成原来文件的名字

  • 相关阅读:
    C#调用JS
    C#对象序列化(2)
    C#委托和事件(2)
    C#委托和事件(1)
    Windows Mobile Ping 命令实现
    操作 SQL Server Mobile 2005 数据库的常用 C# 代码
    Pocket PC 2003数据库操作
    C#委托和事件(3)
    C#中RSA加密解密和签名与验证的实现
    使用SqlBulkCopy数据导入和复制
  • 原文地址:https://www.cnblogs.com/URNOTBENBEN/p/9215454.html
Copyright © 2011-2022 走看看