一以贯之

python:文件操作

一、文件操作

  1.介绍

f:变量,f_obj,file,f_handler.....文件句柄

open      window的系统功能

windows默认编码方式:gbk',linux默认编码方式是utf-8

f.close     关闭文件

  2.参数

    1.文件路径

      绝对路径:从根目录开始,一级一级查找直到找到文件

      相对路径:在同一个文件夹下

    2.编码方式:文件以什么编码方式存储的,就以什么编码方式打开

    3.执行动作(打开方式):只读,只写,追加,读写,写读

 

  3.文件操作的基本流程

    1打开文件,得到文件句柄并赋值给一个变量

1 f = open('log',encoding= 'utf-8',mode = 'r')#默认为r模式

    2通过句柄对文件进行操作

1 s = f.read()

    3关闭文件

1 f.close()

  4.关闭文件的注意事项

打开一个文件包含两部分资源:操作系统级打开的文件+应用程序的变量。在操作完毕一个文件时,必须把与该文件的这两部分资源一个不落地回收,回收方法为:
1 f.close()#回收操作系统级打开的文件
2 def f#回收应用程序级的变量
其中del f一定要发生在f.close()之后,否则就会导致操作系统打开的文件还没有关闭,白白占用资源,
而python自动的垃圾回收机制决定了我们无需考虑del f,这就要求我们,在操作完毕文件后,一定要记住f.close()         

   

   5.with的用法      
  功能一:自动关闭句柄文件 
  功能二:一次性操作多个句柄

with open('log',encoding = 'utf-8')as f,\
    open('log',encoding= 'utf-8',mode= 'r+')as f1:
    print(f.readline())
    f1.write('asd')

 

    6.读的操作

      1.全部读出来f.read()#r如果文件过大可能出现问题

f = open('log',encoding = 'utf-8',mode = 'r')
s = f.read()
print(s)

      2.一行一行的读f.readline()

1 with open('log',encoding= 'utf-8',mode = 'r') as f:
2     s = f.readline()
3     print(s)

 

 

 

 

 

 

 

 

 

 

 

1.将原文件读取到内存

2.在内存中进行修改,形成新的内容

3.将新的字符串写进新的文件

4.将原文件删除

5.将新文件重命名成原文件

1 import os 
2 with open('log',encoding = 'utf-8')as f,\
3     open('log4',encoding= 'utf-8',mode= 'w')as f1:
4     for i in f:
5         new_i = i.replace(i ,len(i)*'*')
6         f2.write(new_i)
7         
8 os.remove('log')
9 os.rename('log4','log')

 

posted on 2018-07-25 15:04  凡夫or俗子  阅读(126)  评论(0编辑  收藏  举报