day8 文件操作

绝对路径: d:\护士空姐私密联系方式.txt  从根目录开始找
相对路径: 当前目录,当前文件夹。

文件句柄 f,f_obj,f_handler,f_h,fh,。相当于变量
open() python的内置函数(内部调用的是windows的系统命令),
  1,打开文件,产生文件句柄。
  2,对文件句柄进行操作。
  3,关闭文件句柄。
f.seek(3)  # 调整光标
 
 

读:

r 全部读取***** r 对于r模式 mode可以默认不写
read(n)        f.read(10)  # r 模式,按照字符读取。
f.readline()  按行读取
f.readlines()按行读取,返回一个list
for line in f  for 循环 不会爆内存
      rb      bytes类型读取  文件操作中凡是 带b字母,都是与非文字类文件相关的
      r+     读写:先读后追加。不读直接写会直接从开始覆盖


写:

  w 没有文件,创建文件也要写。有文件,先清空,后写入
    wb 以bytes类型写入
    
    w+: 写读

追加:   

    a  没有文件,创建文件也要写 有文件,直接在文件的最后面追加
    ab 
    a+
    a+b
 

其他方法:

    readale :

        检查是否可读,返回布尔值

    writable

         检查是否可写 返回布尔值

    f = open('文件操作1',encoding='utf-8')
    if f.writable():
        content = f.read()
        print(content)
    f.close()

    seek调整光标

       调整到开始: seek(0) 调整光标到结尾 seek(0,2) *****

    f = open('文件操作1',encoding='utf-8')
    f.seek(6) # 按照字节去移动光标
    content = f.read()
    print(content)
    f.close()

    truncate              

      truncate 保留该指定前面的数据
      删除该指针后面的数据然后保存到源文件中 要在writable模式下进行截取  不能在w模式下使用,对原文件进行截取
    f = open('文件操作1',encoding='utf-8',mode='r+')
    print(f.truncate(6))
    f.close()

  主动关闭文件句柄

    with open('文件操作2',encoding='utf-8') as f1:
    print(f1.read())

  开启多个文件句柄    

    with open('文件操作2',encoding='utf-8') as f1 , open('文件操作3',encoding='utf-8',mode='w') as f2:

with open('文件操作2',encoding='utf-8') as f1,\
        open('文件操作3',encoding='utf-8',mode='w') as f2:
    print(f1.read())
    f2.write('666666')
 
 

文件的改的操作:

    1,以读的模式打开原文件,产生一个文件句柄f1.
    2, 以写的模式创建一个新文件,产生一个文件句柄f2.
    3, 读取原文件内容,进行修改,并将修改后的写入新文件。
    4, 将原文件删除。
    5, 将新文件重命名成原文件。
 





猜你喜欢

转载自www.cnblogs.com/qq752059037/p/9469758.html