文件操作

   基本语法:

f=open('t1',mode='r',encoding='utf-8')
打开 第一个内容是文件的名字(必须是字符串)
mode 第二个内容是咱们对这个文件的操作方式 只读
encoding 第三个内容是对这个文件的编码集
f 是文件句柄 所有对文件的操作都是操作文件句柄 相当于一个锅把,用于变相去操作文件中的内容
文件句柄是一个可迭代对象
优点:相对来说节省内存,操作简单
1 for i in f:
2     print(line.strip())
3 f.colse()
f.read()        # 读  一次性全部读取
f.readline()      # 读取一行,但是有个  
  换行   自带换行
f.readlines()      #readlines 一行一行的读取,存放在列表里

f.read(5)          # 读模式下,read中的内容是表示读取的字符数量  
f1=open('t1',mode='r')
f1=open(r'f:users',mode='r')        # r 和 \一样都是转义
绝对路径和相对路径:
从磁盘根目录开始查找就是绝对路径
相对路径 相对于内容详解来查找的一种路径      推荐此写法
..   返回上一级
进入下一级    可以把单个写成双\

mode:
r:
只读模式      【默认模式,文件必须存在,不存在则抛出异常】
w:只写模式      【不可读;不存在则创建;存在则清空内容】      每次打开都会先清空之前的内容,然后再写
a:追加写模式     【不可读;不存在则创建;存在则只追加内容】     每次打开都会在文件末尾写


r+:        读写【可读,可写】          侧重于读
1 r+:
2 f=open('t1',mode='r+',encoding='utf-8')     # r+ 主要以读为主 先读后写
3 print(f.read())
4 f.write('啊哈哈哈哈')
w+:           写读【可读,可写】          侧重于写
1 w+:
2 f=open('t1',mode='w+',encoding='utf-8')
3 f.write('哇咔咔')
4 f.seek(0)           # 移动光标 里面是索引参数
5 print(f.read())
a+:          追加写读【可读,可写】         侧重于写
1 a+:
2 f=open('t1',mode='a+',encoding='utf-8')
3 f.seek(0)                 # 先移动光标,后读
4 print(f.read())
5 f.write('hello')

好习惯:
f.flush()       # 刷新
f.close() # 关闭
每次用完文件句柄后要刷新一下,最后不用的时候关闭

1 with open('t1',mode='r',encoding='utf-8')as f:             
2     msg=f.read()
3     print(msg)

   用with open()as 文件句柄 语法简单,自动关闭文件,不用手动关闭

with open('t1','r',encoding='utf-8')as f,    #  表示是这句话还没有讲完,两句是同一句话
open('t2','w',encoding='utf-8')as f1:

f.seek(0)         移动到文件开头  seek表示移动光标 seek按字节移动
一个中文3个字节
0,0 文件头部
0,1 当前位置
0,2 文件尾部
f.tell()          查看光标的位置当前     数的是字节
f.truncate(9)      截断,指定字节之后的内容全部删除
文件修改:
import os          # 导入  os和操作系统相关
os.rename()  # 重命名  第一个参数旧的名字,第二个是新的名字
os.remove() # 删除这个文件 字符串

 
 

  
原文地址:https://www.cnblogs.com/53Dawns/p/10238913.html