Skip to main content

读写文件

1. 控制文件读写内容的模式:t和b

# 强调:读写不能单独使用,必须跟r/w/a连用

open()方法,with 语法
1,t模式(默认的模式) 
	# 读写都以str(Unicode)为单位
    # 必须指定encoding="utf-8"
    # 必须是文本文件才可以指定编码
2,b模式
	# 是对字节进行操作
    # 不用指定编码
    
#文件操作基本流程
1,打开文件
	# window系统路径分割问题
    # 解决方案一:推荐
		f = open(r'C:\a\b\c\aini.txt')
    # 解决方案二:open这函数已经解决好了,右斜杠也可以
    	f = open('C:/a/b/c/aini.txt)
2,操作文件
    f = open('./aini.txt',mode='r',encoding='utf-8')
    res = f.read() 
    # 指针会停在最后,所以第二次读的时候没内容,需要重新打开文件,重新读取
    # 会读取所有内容
3,关闭文件
   f.close()  #回收操作系统资源
                 

2. 文件操作的模式

# 文件操作模式
    # r  w  a  默认都是t模式,对文本进行操作(rt,wt,at)
    # rb wb ab 对字节进行操作
    # a 是追加模式,会往文件末尾开始写,w会把源文件清空掉
    # rt+ 可读可写,文件不存在直接报错
    # wt+ 可读可写,
                 
# 指针移动
    # 指针移动的单位都是bytes字节为单位
    # 只有一种特殊情况
         # t模式下的read(n),n代表的是字符个数
    with open('./aini.txt',mode='rt',encoding='utf-8') as f:
	f.read(4)  # 四个字符
     
     ### 注意: 只有0模式在t模式下使用
     f.seek(n,模式)   # n值得是指针移动的字节个数,n可以是负数,可以倒着移动
                 # 模式  
                 	# 0 参照的是文件开头位置
                 	# 1 参照的是当前指针的所造位置
                 	# 2 参照物是文件末尾
    f.tell  ## 获取指针当前位置