文件操作,r w a系列

文件操作

创建文件"asdf.txt"

open( )            # 打开
file               # 文件的位置(路径)
mode               # 操作文件的模式
encoding           # 文件编码方式
f                  # 文件句柄

f = open("asdf",mode="r",encoding="utf-8")
print(f.read())
f.close()

文件操作的模式:
r,w,a (重要)
rb,wb,ab (次要)
r+,w+,a+ (没啥用)

f = open("文件的路径(文件放的位置)",mode="操作文件的模式",encoding="文件的编码")       # 内置函数
f(文件句柄)

路径:

​ 绝对路径: 从磁盘根部进行查找

​ 相对路径: ../返回上一级 --推荐使用

​ 转义: 1."C:\user\ner"

​ 2. r"C:\user\ner" -- 推荐使用

文件操作的模式:

r,w,a (重要)
rb,wb,ab (次要)
r+,w+,a+ (没啥用)

r,w,a (********)

r: 读文本
       read()  全部读取
       read(3) 看文件的操作方式 r/w/a 字符
       readline 读取一行(自带换行符)
       readlines() 一行一行读取存放在列表中
w:清空,写
       open("xxx","w",encoding="utf-8")  # 进行清空
       write()  只能写字符串
a:追加
        在文本的末尾进行写入
        write()
        
 w,a 检测有文件就操作,没文件就创建

rb,wb,ab(****)

rb:读字节
        read()  全部读取
        read(3) 看文件的操作方式  rb/wb/ab 字节
        readline 读取一行(自带换行符)
        readlines() 一行一行读取存放在列表中

wb:清空,写
        open("xxx","wb")  # 进行清空
            write()  只能写字节

ab:追加
        open("xxx","ab")
            write()  只能写字节

r+,w+,a+ (r+**)

r+:读写
        错误的方式是写读
        先读后写

w+:清空写,读
        1.清空文件
        2.读取内容(默认读取的是空)
        3.移动光标

a+:追加写,读
        1.先写后读
        2.读取内容(默认读取的是空)
        3.移动光标
        # 注意点: (a,ab,a+)将光标移动到某个位置进行,写入的时候还是在文件的末尾

其他操作:

光标

tell 查看光标    --- 返回的是字节数
seek 移动光标
    1.seek(0,0)  -- 移动到文件的头部
    2.seek(0,1)  -- 当前位置
    3.seek(0,2)  -- 移动到文件的末尾
    4.seek(3)    -- 按照字节进行移动(按照编码集,自己进行计算)

文件修改:

修改文件内容:

1.创建一个新的文件

2.将文件中的内容进行替换

3.替换后的内容写入新文件中

4.改变文件名

s1 = s.replace("修改前","修改后")

with as

with 关键字 open("萝莉小姐姐电话号","r",encoding="gbk") as f:
  文件操作的具体内容

with open("文件路径","操作模式",编码")as f:
        操作文件

with open的好处:
        1.可以同时打开多个文件
        2.能够自动关闭文件
          
示例:
with open("asdf","r",encoding="gbk")as f,\
	open("asdf.txt","w",encoding="gbk")as f1:
    for i in f:
        s1 = i.replace("大烧饼","井盖")
        f1.write(s1)
import os
os.rename("asdf","asdf.bak")
os.rename("asdf.txt","asdf")
posted @ 2019-07-15 15:55  边城bei  阅读(239)  评论(0编辑  收藏  举报