day08——文件操作
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——文件操作的更多相关文章
- day08文件操作的三步骤,基础的读,基础的写,with...open语法,文件的操作模式,文件的操作编码问题,文件的复制,游标操作
复习 ''' 类型转换 1.数字类型:int() | bool() | float() 2.str与int:int('10') | int('-10') | int('0') | float('-.5 ...
- day08 文件操作
1.三种字符串: (1)u'' 普通字符串 ---> u'abc' ---> 默认的文本方式,以字符作为文本的输出方式 (2)b'' 二进制字符串 ---> b'ASCII码' -- ...
- day08文件操作
今日内容 文件操作 内容详细 1.打开文件 1.open("作业讲解.py",mode="r",encoding="utf-8") 2.文件 ...
- Python集训营45天—Day08 (文件操作)
目录 1. 文件操作介绍 2. 文件的读写 2.1 文本文件 2.2 二进制文件 2.3 JSON文件 3. 文件的定位,重命名和删除 4. 文件夹的相关操作 1. 文件操作介绍 大家应该听说过一句话 ...
- python day08 文件操作
2019.4.8 S21 day08笔记总结 一.进制 对于计算机而言无论是文件存储 / 网络传输数据本质上都是:二进制(010101010101),如:电脑上存储视频/图片/文件都是二进制: QQ/ ...
- Python:Day08 文件操作
能调用方法的一定是对象! 文件的操作分为三步: 1.打开文件 2.操作文件 3.关闭文件 f= open('小重山','r',encoding='utf8') #以读的方式打开一个文件,如果文件不存在 ...
- 铁乐学Python_day08_文件操作
一.[基本的文件操作] 参数: 1.文件路径: 2.编码方式: 3.执行动作:(打开方式)只读,只写,追加,读写,写读! #1. 打开文件,得到文件句柄并赋值给一个变量 f = open('E:/Py ...
- day08(字符编码,字符与字节,文件操作)
一,复习 ''' 类型转换 1.数字类型:int() | bool() | float() 2.str与int: int('10') | int('-10') | int('0') | float(' ...
- day08 python文件操作
day08 python 一.文件操作 1.文件操作的函数 open(文件名, mode=模式, encoding=字符集) 2.模式: r, w, a, r+ ...
随机推荐
- 使用 ML.NET 对 K-Means 平均值聚类分析和分类
数据集 :https://en.wikipedia.org/wiki/Iris_flower_data_set 聚类分析 非监管式机器学习任务,用于将数据实例分组到包含类似特性的群集. 聚类分析还可用 ...
- 洛谷P4735题解
若想要深入学习可持久化0-1Trie树,传送门. Description: 给定数列 \(\{a_n\}\) ,支持两种操作: 在数列尾添加一个数 \(x\) ,数列长度变成 \(n+1\) ; 给定 ...
- http 缓存机制简介
我们应该从两个角度来看http的缓存:缓存控制 和 缓存校验.缓存控制:控制缓存的开关,用于标识请求或访问中是否开启了缓存,使用了什么样的存方式.缓存校验:如何校验缓存,缓存的有效期,如何确定缓存是最 ...
- v-model和 .sync
1.v-model的双向数据绑定其实是一个语法糖,类似于,给子组件传入一个value值,并且监听子组件的input事件,在这个事件里将子组件传过来的新值赋值给父组件的value <Input v ...
- pytorch数据加载
一.方法一数据组织形式dataset_name----train----val from torchvision import datasets, models, transforms # Data ...
- [Gamma阶段]第五次Scrum Meeting
Scrum Meeting博客目录 [Gamma阶段]第五次Scrum Meeting 基本信息 名称 时间 地点 时长 第五次Scrum Meeting 19/05/31 大运村寝室6楼 30min ...
- ruby-on-rails-BUG
Ruby on Rails errors: (新手期) rails 自动化部署教程 Q1: rvm 无法使用 $ rvm use 1.9.3 --default RVM is not a functi ...
- 声源定位之3精读《The Generalized Correlation Method for Estimation of Time Delay》
2.2.1 标题(2019年9月5日) 估计时间差的广义互相关方法 互相关可以表示两个信号的相似程度. 计算:两个信号循环移位相乘再相加,得到的一组互相关值. 相关函数: 何为广义?通用的框架,可以设 ...
- JVM探究之 —— 类加载器-双亲委派模型
虚拟机设计团队把类加载阶段中的“通过一个类的全限定名来获取描述此类的二进制字节流”这个动作放到Java虚拟机外部去实现,以便让应用程序自己决定如何去获取所需要的类.实现这个动作的代码模块称为“类加载器 ...
- DB2数据库基础
一.DB2数据库安装教程 DB2安装教程:https://jingyan.baidu.com/article/e75057f2f59ef9ebc91a8905.html 二.DB2常用命令 1. 打开 ...