open()参数说明

'''
参数1:路径 ./当前目录 ../上一级目录
参数2:
基础模式:w r x a
w:写入,不存在则创建,存在则打开,清空文件内容,光标指向最前面
r:只读,不存在则报错,存在则打开,光标指向最前面
x:异或,不存在则创建,存在则报错(防止覆盖),光标指向最前面
a:追加,不存在则创建,存在则打开,不清空文件内容,光标指向最后面
扩展模式:b +
b:二进制
+:增强(可读可写)
文件操作模式组合:
w,r,a,x,
wb,rb,ab,xb,
w+,r+,a+,x+,
wb+,rb+,ab+,xb+
参数3:字符集,可选,二进制文件不需要设置
'''

写入文件

fp = open('./1.txt','w',encoding='utf-8')
fp.write('hello world')
fp.close()

读取文件

fp = open('./1.txt','r',encoding='utf-8')
print(fp.read()) # hello world
fp.close()

高级写法

with open('./1.txt','r+',encoding='utf-8') as fp:
print(fp.read()) # hello world
fp.write(' welcome')
fp.seek(0) # 设置当前光标位置
print(fp.read()) # hello world welcome

写入相关函数

vars1 = '123456'
vars2 = 12
var3 = ['ab','12']
var4 = [1,2,3,4]
with open('./1.txt','w',encoding='utf-8') as fp:
fp.write(vars1) # 只能写入字符串
#fp.write(vars2) TypeError: write() argument must be str, not int
#fp.write(var3) TypeError: write() argument must be str, not list
fp.writelines(var3) # 可以写入容器,容器内容只能是字符串
#fp.writelines(var4) TypeError: write() argument must be str, not int

读取相关函数

with open('./1.txt','r+',encoding='utf-8') as fp:
print(fp.read()) # 从头读到最后
# 十月新番推荐:
# 咒术回战
# 炎炎消防队
# 忧国的莫里亚蒂
# 魔女之旅
# 总之就是非常可爱
fp.seek(0) # 设置指针位置 要考虑中文
print(fp.read(8)) # 十月新番推荐: 指定读取字符位数,1个汉字算1个字符
print(fp.readline()) # 咒术回战 读取一行
print(fp.readline(2)) # 炎炎 读取一行的指定字符个数
print(fp.readlines()) # 读取多行数据
# ['消防队\n', '忧国的莫里亚蒂\n', '魔女之旅\n', '总之就是非常可爱']
fp.seek(0)
print(fp.readlines(5)) # 至少返回一行,位数不够一行时返回一行
# ['十月新番推荐:\n']
fp.seek(0,2) # 光标移到文件末尾
fp.truncate(3) # 截断文件内容,从头开始截取指定字符位数保留下来,要考虑中文
print(fp.tell()) # 返回光标所在位置

python学习记录(五)-文件操作的更多相关文章

  1. python学习笔记(五)-文件操作2

    一.文件修改 现有文件file.txt,内容如下:二十四节气歌春雨惊春清谷天,夏满芒夏暑相连.秋处露秋寒霜降,冬雪雪冬小大寒.上半年逢六廿一,下半年逢八廿三.每月两节日期定,最多相差一二天.要求:将文 ...

  2. python学习笔记:文件操作和集合

    一.文件操作 文件读写步骤:有一个文件,打开文件,操作文件读写文件,关闭文件. python 文件读写模式r,r+,w,w+,a,a+的区别(附代码示例) 模式 可做操作 若文件不存在 是否覆盖 r ...

  3. Python学习:7.文件操作

    文件操作 我们曾将听过一个问题,将大象放入冰箱分为三步:1.打开冰箱门,2.将大象放进去,3.关上冰箱门.今天我们要讲的Python文件操作的步骤就像将大象放入冰箱的步骤一样. 使用Python操作文 ...

  4. 【Python学习之六】文件操作

    环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 python3.6 一.文件的打开与关闭 使用open函数,可以打开一 ...

  5. python学习笔记之文件操作(三)

    这篇博客小波主要介绍一下python对文件的操作 对文件的操作主要分为三步: 1.打开文件获取文件的句柄,句柄也是文件描述符 2.通过文件句柄操作文件 3.关闭文件. 现有以下文件,是小波随写的周杰伦 ...

  6. python学习笔记4(文件操作)

    文件操作: 1.f=open(”caidan”,”w”,encoding=”utf8”)      直接打开一个文件,如果文件不存在则创建文件 f.close() 2.with open (”caid ...

  7. python学习笔记三 文件操作(基础篇)

    文件操作 打开文件 open(name[,mode[,buffering]])   open函数使用一个文件名作为强制参数,然后返回一个文件对象.[python 3.5 把file()删除掉]   w ...

  8. python学习第十八天 --文件操作

    这一章节主要讲解文件操作及其文件读取,缓存,文件指针. 文件操作 (1)文件打开:open(filepath,filemode) filepath:要打开文件的路径 filemode:文件打开的方式 ...

  9. python之路(五)-文件操作

    文件操作无非两个,即:读.写 python 2.x: 文件句柄 = file('文件路径', '模式') python3.x: 文件句柄 = open('文件路径', '模式') 打开文件的模式有: ...

  10. python学习笔记(三):文件操作和集合

    对文件的操作分三步: 1.打开文件获取文件的句柄,句柄就理解为这个文件 2.通过文件句柄操作文件 3.关闭文件. 文件基本操作: f = open('file.txt','r') #以只读方式打开一个 ...

随机推荐

  1. Ingress限流

    先说结论: ingress节点数量=n0 ingress限流配置 nginx.ingress.kubernetes.io/limit-rps: "n1"   nginx.ingre ...

  2. Rest-Assured发送POST请求:创建Hello-imook

    package heyuan.RestAssuredDemo;import static org.junit.jupiter.api.Assertions.*;import org.junit.jup ...

  3. Hystrix-Dashboard可视化

    Hystrix-Dashboard可视化 1.新建子项目引pom.xml <dependencies> <!--hystrix dashboard--> <depende ...

  4. Git 工作常用操作

    撤回commit 上一次提交的代码 git reset --soft HEAD^ HEAD^的意思是上一个版本,也可以写成HEAD~1 如果你进行了2次commit,想都撤回,可以使用HEAD~2 g ...

  5. android 集成友盟实现 第三方分享 登录(qq,新浪,微信)

    其实友盟的文档写的非常详细了,在这只是记录一下开发过程中遇到过的坑. 开发流程,先到友盟的官网注册账号创建应用,友盟的文档地址:http://dev.umeng.com/social/android/ ...

  6. 记一次SpringBoot整合Redis的Bug

    SpringBoot整合Redis遇见的坑 <!--Redis配置开始--> <dependency> <groupId>org.springframework.b ...

  7. HDFS文件块

    知识点补充 HDFS优缺点: 优点 (1)高容错性.节点存放的副本比较多. (2)适合处理大数据. GB.TB.PB级别的数据都可以处理. (3)可以构建在廉价的机器上,通过多副本机制来提高可靠性. ...

  8. NX二次开发,对象上色

    #include <uf_defs.h> #include <uf_ui_types.h> #include <uf.h> #include <uf_ui.h ...

  9. Simple Algebra

    题意 给定方程\(f(x)=ax^2+bxy+cy^2\)和参数\(a\),\(b\),\(c\),试确定该方程的取值是否恒非负. 题解 参照文章http://math.mit.edu/~mckern ...

  10. https://ghproxy.com/ 下载代理

    https://github.com/microsoft/PowerToys/releases/tag/v0.58.0 https://github.com/jgraph/drawio-desktop ...