day08

文件操作:

open() :打开

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

# f = open("萝莉小姐姐电话号",mode="r",encoding="utf-8")
# print(f.read())
# f.close()
  • f :文件句柄

  • file : 文件的位置(路径)

    ​ 路径:推荐使用相对路径**********

    ​ 1、绝对路径 —— C:\user\meet\python24\操作

    # f = open("F:\s24\day08\萝莉小姐姐电话号","r",encoding="utf-8")
    # print(f.read())

    ​ 2、相对路径

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

    ​ 3、../ 返回上一层 ,至少要写你选择的文件的上一级文件夹

    ​ 4、1、\\ 路径转义

    ​ 2、 r"C:\..."

    # f = open(r"C:\user\net\s24\day03\萝莉小姐姐电话号","r",encoding="utf-8")

    ​ repr():显示数据原生态

    # s = "[1,'2',3,4]"
    # print(s)
    # print(repr(s)) # repr -- 显示数据原生态
  • mode :操作文件的模式

  • encoding :文件的编码方式

with open: 自动关闭文件

with open(内容)as f:

​ 其他代码

# 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()) # 文件及已经关闭了

操作文件步骤:

1、打开文件

2、操作文件

3、关闭文件

文件操作模式:

r、w、a(重要)

  • r操作:

    read():全部读取

    read(3):读三个字,按照字符进行读取

    readline():按行读取,自动换行,用strip()去掉换行符

    readlines():一行一行读取存在列表中

    文件读过之后光标到已读文字的后面

    # 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操作:检查是否有文件,没有就创建

    write(字符串):分为两步

    1、先清空文件

    2、写入文件

    很多write()时候,第一次打开文件的时候清空文件,后面的不清空

    # f = open("萝莉小姐姐电话号","w",encoding="utf-8")
    # f.write("123456789\n")
    # f.write("123456789\n")
    # f.write("123456789\n")
    # f.write("123456789\n")
  • a操作 :追加写,检查是否有文件,没有就创建

    在源文件的基础上进行追加

    write()

    # f = open("../day03/萝莉小姐姐电话号","a",encoding="utf-8")
    # f.write("138383848\n")
    # f.write("138383850\n")

rb、wb、ab(次要)

  • rb操作

    read() :全部读取

    read(3):按照字节读取

    # f1 = open("1.jpg","rb")
    # print(f1.read()) # 全部读取
    # print(f1.read(3)) # 按照字节读取 # f = open("下载.jpg","rb")
    # print(f.read())
  • wb操作

    write():写入字节

    # f = open("3.jpg","wb")
    # f.write(f1.read())
  • ab操作(不常用)

    write():追加

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

r+、w+、a+(没啥用)

  • 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():移动光标

    seek(一个数字):按照字节来移动(中文:3个字节,英文:1个字节),按照编码集自己进行计算

    seek(0):将光标移动到文件头部

    seek(0,0) :移动到文件的头部

    seek(0,1) :当前位置

    seek(0,2) :移动到文件的末尾

    # 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())
  • 文件修改

    1、利用read()赋值给s字符串,然后用replace()替换

    2、利用for循环,一句一句替换

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

day08——文件操作的更多相关文章

  1. day08文件操作的三步骤,基础的读,基础的写,with...open语法,文件的操作模式,文件的操作编码问题,文件的复制,游标操作

    复习 ''' 类型转换 1.数字类型:int() | bool() | float() 2.str与int:int('10') | int('-10') | int('0') | float('-.5 ...

  2. day08 文件操作

    1.三种字符串: (1)u'' 普通字符串 ---> u'abc' ---> 默认的文本方式,以字符作为文本的输出方式 (2)b'' 二进制字符串 ---> b'ASCII码' -- ...

  3. day08文件操作

    今日内容 文件操作 内容详细 1.打开文件 1.open("作业讲解.py",mode="r",encoding="utf-8") 2.文件 ...

  4. Python集训营45天—Day08 (文件操作)

    目录 1. 文件操作介绍 2. 文件的读写 2.1 文本文件 2.2 二进制文件 2.3 JSON文件 3. 文件的定位,重命名和删除 4. 文件夹的相关操作 1. 文件操作介绍 大家应该听说过一句话 ...

  5. python day08 文件操作

    2019.4.8 S21 day08笔记总结 一.进制 对于计算机而言无论是文件存储 / 网络传输数据本质上都是:二进制(010101010101),如:电脑上存储视频/图片/文件都是二进制: QQ/ ...

  6. Python:Day08 文件操作

    能调用方法的一定是对象! 文件的操作分为三步: 1.打开文件 2.操作文件 3.关闭文件 f= open('小重山','r',encoding='utf8') #以读的方式打开一个文件,如果文件不存在 ...

  7. 铁乐学Python_day08_文件操作

    一.[基本的文件操作] 参数: 1.文件路径: 2.编码方式: 3.执行动作:(打开方式)只读,只写,追加,读写,写读! #1. 打开文件,得到文件句柄并赋值给一个变量 f = open('E:/Py ...

  8. day08(字符编码,字符与字节,文件操作)

    一,复习 ''' 类型转换 1.数字类型:int() | bool() | float() 2.str与int: int('10') | int('-10') | int('0') | float(' ...

  9. day08 python文件操作

    day08 python   一.文件操作     1.文件操作的函数         open(文件名, mode=模式, encoding=字符集)       2.模式: r, w, a, r+ ...

随机推荐

  1. Wbbpack --3配置

    Wbbpack --3配置 什么是webpack webpack 是一个现代 JavaScript 应用程序的静态模块打包(modulebundler)当 webpack 处理应用程序时,它会递归地构 ...

  2. ent 基本使用 二 简单create && query

    接上文,前边我们了解了关于基本代码生成以及schema 迁移的学习,下边我们看看基本的数据操作 参考代码: https://github.com/rongfengliang/ent-demo 环境准备 ...

  3. cronicle 任务调度一主多从安装试用

    cronicle 对于一主多从的安装还是很简单的,对于slave 就是少了setup一步,同时在master 界面,添加下slave 就可以了 就会加入集群中了 项目使用docker-compose ...

  4. CCF 201909-3 字符画

    CCF 201909-3 字符画 题意: 将n * m的RGB图片压缩成q * p的块,每块为该原像素的平均值,我们暂且称之为像素块(代码注释为字符块) . 输入n行m列的RGB图片: 第一行:图片的 ...

  5. csp 201903-3 损坏的RAID5

    问题描述 试题编号: 201903-3 试题名称: 损坏的RAID5 时间限制: 1.0s 内存限制: 512.0MB 问题描述: 答题栏     核

  6. vs2017使用OpenGL的方法

    第一步:将相应的.lib和.h文件放到相应的文件夹中,具体如下: 将GLAUX.LIB,GLU32.LIB,OPENGL32.LIB 放到....\VC\Tools\MSVC\14.10.25017\ ...

  7. 机器学习之决策树原理和sklearn实践

    1. 场景描述 时间:早上八点,地点:婚介所 '闺女,我有给你找了个合适的对象,今天要不要见一面?' '多大?' '26岁' '长的帅吗?' '还可以,不算太帅' '工资高吗?' '略高于平均水平' ...

  8. Salt Highstate数据结构定义

    作者言 这篇文档详细解释了SLS文件中,每个部分的名称与含义,以及SLS中的数据处理后的数据结构. 我只是SaltStack的初学者,如果文中有错误的地方,请不吝赐教.在学习的过程,我做了一些实验,犯 ...

  9. 008-linux shell vim使用

    一.概述 vi: Visual Interface 可视化接口 vim: VI iMproved VI增强版 全屏编辑器,模式化编辑器 vim模式: 编辑模式(命令模式) 输入模式 末行模式 模式转换 ...

  10. wms证书异常问题

    目前我司已定位到两个原因,详细如下, 1.  快速生成的证书存在问题,导致APACHE和NGINX显示的时间都是4号凌晨 2.  贵司在配置完成162和163两台应用的APACHE证书,以及其中10. ...