程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

学习8.内容#文件操作 读 写 加

发布于2019-08-07 10:23     阅读(891)     评论(0)     点赞(0)     收藏(2)


文件操作

理论性知识

"萝莉小姐姐电话号.txt"
open()  # 打开
file  # 文件的位置(路径)
mode  # 操作文件的模式
encoding # 文件编码方式
f  # 文件句柄

f = open("萝莉小姐姐电话号",mode="r",encoding="utf-8")
print(f.read())
f.close()

操作文件:
    1. 打开文件
    2. 操作文件
    3. 关闭文件

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

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

重要知识:r读,w写,a加 (重要) 内容

R操作 读

f = open("萝莉小姐姐电话号",mode="r",encoding="utf-8")
print(f.read())    #全部读取
print(f.read(5))   #按照字符进行读取
print(f.read())

print(f.readline())  # 读取一行内容,自动换行
print(f.readline())  # "常鑫你就是大帅比\n"
print(f.readline().strip()) #去除换行符

print(f.readlines())  # 一行一行的读取,存放在列表中

解决大文件:
for i in f:
    print(i)  # 本质就是一行一行进行读取

print(f.readline())
print(f.readline())
print(f.readline())

W操作 写

w分为两步:
    1.先清空文件
    2.写入文件

f = open("萝莉小姐姐电话号","w",encoding="utf-8")
f.write("123456789\n")
f.write("123456789\n")
f.write("123456789\n")
f.write("123456789\n")
路径
1.绝对路径 -- C:\user\meet\python24\萝莉小姐姐电话号
2.相对路径
绝对路径方式打开文件
f = open("F:\s24\day08\萝莉小姐姐电话号","r",encoding="utf-8")
print(f.read())

相对路径方式打开文件
f = open("../day03/萝莉小姐姐电话号","r",encoding="utf-8")
print(f.read())
../ 返回上一层

f = open(r"C:\user\net\s24\day03\萝莉小姐姐电话号","r",encoding="utf-8")
路径转义:
    1."\\"
    2.r"C:\user\net"
推荐使用相对路径 (*****)

s = "[1,'2',3,4]"
print(s)
print(repr(s))  # repr -- 显示数据原生态

A操作:追加写 加

在源文件的基础上进行添加
f = open("../day03/萝莉小姐姐电话号","a",encoding="utf-8")
f.write("138383848\n")
f.write("138383850\n")

次要知识:rb,wb,ab (次要) 字节

rb 读 字节

f1 = open("1.jpg","rb")
print(f1.read())   # 全部读取
print(f1.read(3))  # 按照字节读取

wb 写 字节

f = open("3.jpg","wb")
f.write(f1.read())

ab 加 字节

f = open("2.jpg","ab")
f.write("你好啊".encode("utf-8"))

f = open("2.jpg","rb")
print(f.read())

不重要: +操作

R+ 读写-先读后写

错误的操作 (坑)
f = open("萝莉小姐姐电话号","r+",encoding="utf-8")
f.write("常鑫你太美")
print(f.read())


正确的操作:
f = open("萝莉小姐姐电话号","r+",encoding="utf-8")
print(f.read())
f.write("常鑫你太美")

w+ 清空写 读

f = open("萝莉小姐姐电话号","w+",encoding="utf-8")
f.write("常鑫你太美")
print(f.tell())
f.seek(15)         
print(f.tell())
print(f.read())

a+ 追加写 读

f = open("萝莉小姐姐电话号","a+",encoding="utf-8")
f.write("常鑫你太美")
print(f.tell())   # 字节数
print(f.seek(0,0))  # 0将光标移动到文件的头部
print(f.read())

其他操作:

tell 查看光标    --- 返回的是字节数
seek 移动光标
    1.seek(0,0)  -- 移动到文件的头部
    2.seek(0,1)  -- 当前位置
    3.seek(0,2)  -- 移动到文件的末尾
    4.seek(3)    -- 按照字节进行移动(按照编码集,自己进行计算)
f = open("萝莉小姐姐电话号","r",encoding="gbk")
print(f.read(3)) # 字符

f = open("萝莉小姐姐电话号","rb")
print(f.read(3))   # 字节

f = open("萝莉小姐姐电话号","r",encoding="gbk")
print(f.read(3))     # 字符

错误操作

f = open("萝莉小姐姐电话号","r",encoding="gbk")
f.seek(-1)
print(f.read())

文件修改

f = open("萝莉小姐姐电话号","r",encoding="gbk")
s = f.read()
s1 = s.replace("你太美","吃煎饼")

f1 = open("萝莉小姐姐电话号","w",encoding="gbk")
f1.write(s1)

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

w,a 检测有文件就操作,没文件就创建

with open("萝莉小姐姐电话号","r",encoding="gbk")as f,\
        open("萝莉小姐姐电话号.txt","w",encoding="gbk")as f1:
    for i in f:
        s1 = i.replace("大烧饼","井盖")
        f1.write(s1)

import os
os.rename("萝莉小姐姐电话号","萝莉小姐姐电话号.bak")
os.rename("萝莉小姐姐电话号.txt","萝莉小姐姐电话号")

with open("萝莉小姐姐电话号","r",encoding="gbk")as f:
    pass # 缩进里操作文件
print(f.read())  # 文件及已经关闭了


所属网站分类: 技术文章 > 博客

作者:怪兽爸爸

链接:https://www.pythonheidong.com/blog/article/9796/5888c229b43c859e810f/

来源:python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

0 0
收藏该文
已收藏

评论内容:(最多支持255个字符)