Python 文件的读写模式
一,
r :读取模式(默认值)
w:写入模式
x:独占写入模式
a:附加模式
b:二进制模式
t:文本模式(默认值,与其他模式结合使用)
+:读写模式(与其他模式结合使用)
r+: 打开文件进行读写,会覆盖文件原内容,重新写入;若文件不存在,则会报错
w+:打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件
a+:打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
1,文件打开:
使用open()函数打开一个文件,具体步骤如下:
进入python模式:定义环境变量f 设置 f = open('text_datetime2.py')
mode='r':是文件的模式只读方式打开 encoding= 'cp936' 是以此种编码方式打开 (指定编码方式)
可通过help(open)方式打开:会显示出一些帮助的文档 如下图:
dir(f):可以看到很多方法:
2,文件关闭:
使用close()函数关闭文件
f.close() 可以关掉文件 注意:需要做异常处理
避免只记得打开文件,忘记关闭文件的问题以下介绍新的写法:
with语法(上下文的管理器,在文打开的时候会把上下文记住,用完后会自动回收掉)
写法:with open("text_datetime2.py") as f:do_something(f)
到达该语句末尾时,将自动关闭文件,几遍出现异常亦如此
二,文件的读取:
read()读取文件:可以指定参数,表示读几个字符(字节)
readline()读取一行数据,可以指定参数,表示读前几个字符(字节)
readlines()读取所有行,返回列表;
代码如下:
def read_file():file_name = "test"file_path = "E:\\pythonProject\\test" #window下用\\这种斜杠file_path2 = "E:/pythonProject/test" # mac linux下通用f = open(file_name,encoding='utf-8')"""全部读取"""res = f.read()print(res)"""读取指定字符"""res1 = f.read(10)print(res1)#在进行读取10个字符,接着res1读取的字符的位置继续往后读res2 = f.read(10)print(res2)"""随机读取字符"""#跳过20个字符,在读取5个字符(此时报错,可能因为中文的编码和英文的编码有些不一致,# 可能一个汉字占了两个字节,把文件内容改成英文的就可以正常执行。中文要慎用随机读取)f.seek(10)print(f.read(5))"""按行读取"""res3 = f.readline()print(res3)print(f.readline(4))#指定读取行数"""读取所有行"""res4 = f.readlines()print(res4)f.close()if __name__ == '__main__':read_file()
三,文件的写入:
1,使用wirte()函数向打开的文件对象写入内容:
代码如下,最好放在编辑器里运行一下:
运行结果 会自动新建一个wirte_text的文件,里面会出现写入的 hello world
def write_file():file_name = "write_text"#以写入的方式打开文件f = open(file_name,'w')#写入一行内容f.write('hello')#换行f.write('\n')#在写入一行内容f.write('world')#关闭文件f.close()if __name__ == '__main__':write_file()
2,使用writelines()函数向打开的文件写入多行内容
def write_multi_line():"""向文件中写入多行内容"""file_name = "write_line.text"with open(file_name,'w',encoding='UTF-8') as f:c = ['第一行','\n','第二行','第三行']f.writelines(c)
示例:记录用户日志,以 a 的方式进行打开
import random
from datetime import datetime
def write_user_log():#记录用户时间 + 记录用户的IDrest = "用户:{0} - 访问时间{1}".format(random.randint(100,9000),datetime.now())file_name = "write_user_log.text"with open(file_name,'a',encoding='UTF-8') as f:f.write(rest)f.write('\n')
3,如果既要读取文件,又要写入文件:代码如下
先读 在写入 用 r+ 的 可读可写模式
def read_and_write():file_name = "read_write.text"with open(file_name,'r+',encoding="UTF-8") as f:read_rest = f.read()#如果没有1,写入 哈哈哈#如果有1,写入 嘻嘻嘻if '1' in read_rest:f.write('嘻嘻嘻')else:f.write('哈哈哈')f.write('\n')
Python 文件的读写模式相关推荐
- python文件合法模式组合_以下选项中,不是Python文件二进制打开模式的合法组合是...
以下选项中,不是Python文件二进制打开模式的合法组合是 答:\"x+\" 建立良好的谈判气氛主要是在( )阶段 答:开局 the ruling class had long b ...
- Python文件的读写操作
使用Python编程时,经常会遇到读写文件的操作.对于读写文件的各种模式(如阅读.写入.追加等)有时真的会迷惑人,以及搞不清open.read.readline.readlines.write.wri ...
- Python文件的读写以及操作excel
文件的读写操作 使用open函数打开文件 f = open(文件名,'读写操作') f.close() # 例如 open('root.txt','w') 2.常见的操作有 操作模式 具体含义 'r' ...
- Python文件的读写及常用文件的打开方式
编码格式 常见的编码格式 Python的解释器使用的是Unicode(内存) .py文件在磁盘上使用UTF-8(外存) 更改编码格式 一般形式为在程序开头写 # coding:编码格式.# codin ...
- Python文件的读写、正则表达式的运用、多线程与多进程、网络编程
文章目录 文件的读写 读文件 写文件 写二进制文件 读写``JSON``文件 正则表达式 常用的元字符 字符转义 重复 字符类 分支条件 分组 反义 反向引用 多重继承 多线程 守护线程 线程保护 多 ...
- python文件的打开模式有几种_以下选项中,不是Python打开文件模式的是( )_学小易找答案...
[单选题]下面代码的输出结果是( ) x=12.34+0j print(type(x)) [单选题]在本实验中为什么不使用草酸钠,而使用草酸来制备草酸亚铁? [单选题]减压抽滤时,下述操作不正确的是 ...
- python文件二进制读写_Python如何读写二进制文件
python中可以使用open()函数以指定方式打开文件,然后进行二进制读写. 函数语法open(name[, mode[, buffering]]) 参数说明: name : 一个包含了你要访问的文 ...
- python读文件操作-python文件操作-读写删除复制总结
1. read三种不同的方式 f = open('hello.txt') #'hello.txt'指的是文件的名称 while True: text = f.readline() #读取文件指针指向的 ...
- python打开一个文件-python文件的读写
1.使用open内置函数打开一个文件 file:相对路径或者绝对路径 mode:文件的模式. r 只读 w只写 b:二进制 t:以文本形式打开等等 encoding:编码方式,windows下默认为g ...
最新文章
- typeof,instanceof 和 isProtoTypeof
- DiscuzX 论坛首页 和 分 区设置版块横排
- 解决方案、项目、程序集、命名空间
- 每天一个linux命令---导出到文件
- webstorm简单介绍,webstrom基本使用
- SVN客户端下载和Svn visual studio插件
- Struts2之OGNL类型转换
- 常用生物信息学格式介绍
- 盘姬工具箱 Cruiser EXP for Win v1.1.0 多功能系统工具箱
- uniapp app端调起高德地图导航
- animejs走马灯_Javript动画特效插件anime.js
- halcon模板匹配实践(5)使用橡皮擦涂抹功能实现减少模板匹配特征
- 抓包分析TCP首部,三次牵手四次分手过程,序列号确认号计算,为什么握手是三次挥手是四次?
- Python爬懂车帝的图片-代码
- 2018数学建模国赛回顾(国一)
- 怎样在电脑上录制ppt课件?如何录制课件讲解视频
- c语言中文网严长生,2.shell语法:shell变量定义和使用
- 网易云项目(Vue)
- Visual Studio 2017 下载地址 V15各种版本官方下载网址
- [osg]OSG中的颜色数组,法向数组