Python基础—文件操作(Day8)
一、文件操作参数
1.文件路径
1)绝对路径:从根目录开始一级一级查找直到找到文件。
- f=open('e:\文件操作笔记.txt',encoding='utf-8',mode='r')
- content=f.read()
- print(content)
- f.close
2)相对路径:在同一文件夹下直接写文件名即可。
- f=open('log',encoding='utf-8')
- content=f.read()
- print(content)
- f.close()
2.编码方式
3.执行动作
- f=open('e:\文件操作笔记.txt',encoding='utf-8',mode='r')
- content=f.read()
- print(content)
- f.close
f:时变量,f_obj,file,f_handler,...文件句柄
open:window的系统功能
'e:\文件操作笔记.txt':文件路径
windows默认编码方式:gbk,linux默认编码方式utf-8
流程:打开一个文件,产生一个文件句柄,对文件句柄进行操作,关闭文件。
二、 文件的打开模式
1.读:
1)r只读:文件以什么编码方式存储的就以什么编码方式打开,编码不一致时会报错。
2)rb只读,以bytes类型读取(非文字类的文件用rb)
3)r+ 先读后追加,一定要先读后写
- f = open('log',encoding='utf-8',mode='r+')
- content = f.read()
- print(content)
- f.write('aaa')
- f.close()
4)r+b以bytes类型操作的可读可写
2.写:
1)w只写
没有文件创建一个文件写入内容
- with open('log1',encoding='utf-8',mode='w') as f:
- f.write('过会就可怜了')
- f.close()
有文件将原文件内容清空,再写入内容。
- with open('log1',encoding='utf-8',mode='w') as f:
- f.write('666')
- f.close()
2)wb只写 bytes类型写
- f=open('log',mode='wb')
- f.write('老男孩'.encode('utf-8'))
- f.close
3)w+ 写读,先写后读
- with open('log',encoding='utf-8',mode='w+') as f:
- f.write('中国')
- print(f.tell())#按字节去读光标位置
- f.seek(3) #按字节调整光标位置
- print(f.read())
- f.close()
4)w+b以bytes类型操作的可写可读
3.追加:
1)a只追加写模式
2)ab只追加写,以bytes类型操作
3)a+追加读
- f = open('log',encoding='utf-8',mode='a+')
- f.write('BBB')
- content = f.read()
- print(content)
- f.close()
4)a+b以bytes类型操作的可写可读
三、文件的操作方法
1.f.read()全部读出来
- f=open('log',encoding='utf-8')
- content=f.read()
- print(content,type(content))
- f.close
2.f.readline()一行一行的读
3.f.readlines()将原文件的每一行作为一个列表的元素
4.read(n)读取一部分
在r模式下read(n)按照字符去读取
在rb模式下read(n)按照字节去读取
5.循环读取
- f = open('log',encoding='utf-8')
- for i in f:
- print(i.strip())
- f.close
6.f.writable()是否可写
- f = open('log',encoding='utf-8')
- print(f.read())
- print(f.writable()) #False
- f.close()
7.f.truncate()按字节对原文件截取
- f = open('log',encoding='utf-8',mode='a')
- f.truncate(3)
- f.close()
8.f.readable()是否可读
9.f.seek()按字节调整光标位置
10.f.tell()按字节去读光标位置
四、文件的修改
- 1,将原文件读取到内存。
2,在内存中进行修改,形成新的内容。
3,将新的字符串写入新文件。
4,将原文件删除。
5,将新文件重命名成原文件。
五、with open('log'.encoding='utf-8') as f:
第一个功能:自动关闭文件句柄。
- with open('log',encoding='utf-8') as f:
- print(f.read())
第二个功能:一次性操作多个文件句柄。
- with open('log',encoding='utf-8') as f1,\
- open('log1',encoding='utf-8') as f2:
- print(f1.read())
- print(f2.read())
Python基础—文件操作(Day8)的更多相关文章
- python基础-文件操作
一.文件操作 打开文件时,需要指定文件路径和以何等方式打开文件,打开后,即可获取该文件句柄,日后通过此文件句柄对该文件操作. 打开文件的模式有: r ,只读模式[默认模式,文件必须存在,不存在则抛出异 ...
- python基础-文件操作(10)
一.什么是文件 等等这些都叫做文件,各种格式的.但不仅仅限制于这些. 二.文件的作用 大家应该听说过一句话:“好记性不如烂笔头”. 不仅人的大脑会遗忘事情,计算机也会如此,比如一个程序在运行过程中用了 ...
- Python基础--文件操作和集合
这篇博客来说一下python对文件的操作. 对文件的操作分三步: 1.打开文件获取文件的句柄,句柄就理解为这个文件 2.通过文件句柄操作文件 3.关闭文件. 现有以下文件file.txt: 我们哭了 ...
- python 基础文件操作
实时刷新到硬盘里 f= open('hh','w',encoding='utf8') f.write('gyftyftft') f.write('hghgh\njkkjk') f.flush()#实时 ...
- Python 基础 文件操作
字符串与字节之间的转换 # utf-8 一个汉字 占三个字节 # gbk 一个汉字 占两个字节 # 字符串转换成字节 print(bytes('汉字', encoding='utf-8'))print ...
- python基础--文件操作实现全文或单行替换
python修改文件时,使用w模式会将原本的文件清空/覆盖.可以先用读(r)的方式打开,写到内存中,然后再用写(w)的方式打开. 替换文本中的taste 为 tasting Yesterday whe ...
- Python基础————文件操作
文件操作 4.1 文件基本操作 obj = open('路径',mode='模式',encoding='编码') # 表示要干嘛 读 还是写 obj.write() #写什么内容 obj.read() ...
- python基础 — 文件操作
读取键盘输入 Python提供了两个内置函数从标准输入读入一行文本,默认的标准输入是键盘.如下: raw_input input raw_input函数 raw_input([prompt]) 函数从 ...
- Python基础-文件操作(七)
一.文件基本操作 1.open 打开模式: w模式 写模式write 文件不存在时会创建文件,如果文件已存在则会清空文件 r模式 读模式read 文件不存在就报错,存在则准备读取文件 a模式 追加模式 ...
随机推荐
- Spark案例练习-UV的统计
关注公众号:分享电脑学习回复"百度云盘" 可以免费获取所有学习文档的代码(不定期更新)云盘目录说明:tools目录是安装包res 目录是每一个课件对应的代码和资源等doc 目录是一 ...
- vmware快速扩容虚拟磁盘
在使用vmware进行虚拟化的时候,会遇到虚拟磁盘不够用的情况,以前的办法都是使用lvm进行管理扩容,目前在linux上可以实现快速扩容了,具体方法如下: 该方法参考阿里云在线扩容文档:文档地址 其中 ...
- USB Tethering always displays grey when USB tethering type is Linux(EEM)
USB Tethering always displays grey when USB tethering type is Linux(EEM) 1.Problem DESCRIPTION USB T ...
- codeblocks中报错:'to_string' was not declared in this scope解决方案
在windows下使用codeblocks(编译器采用MinGW)时,有时会遇到"'to_string' was not declared in this scope"的错误,这里 ...
- 【感受】android + opencv + umat + opencl使用感受
近期编译了android下支持opencl的opencv,使用opencl能力的关键是用cv::UMat替换cv::Mat. 实际使用后发现坑很多,非常不成熟,不推荐使用这种方式来提升实际产品的性能. ...
- golang中打印格式化的一些占位符
package main import ( "fmt" ) func main() { var a byte = 255 // byte = uint8 rune = int32 ...
- ES6复习干货知识点汇总
一.问:ES6是什么,为什么要学习它,不学习ES6会怎么样? 答: ES6是新一代的JS语言标准,对分JS语言核心内容做了升级优化,规范了JS使用标准,新增了JS原生方法,使得JS使用更加规范,更加优 ...
- vue和react 相似和区别
相似之处 他们都是JavaScript的UI框架,专注于创造前端的富应用 不同于早期的JavaScript框架"功能齐全",Reat与Vue只有框架的骨架,其他的功能如路由.状态管 ...
- iptables的概念与底层原理(详解)
目录 一:iptables 1.iptables简介 2.什么是防火墙? 3.防火墙种类 二:iptables基本介绍 1.解析内容 三:iptables流程(讲解) 1.流入本机 2.解析(流入本机 ...
- String 不可变
String 源码,String 的修饰符是 final String 采用的是共享模式,被放进常量池 String strA = "abc"; String strB = &qu ...