文件操作-打开、读写
来源:互联网 发布:淘宝达人直播申请 编辑:程序博客网 时间:2024/04/26 07:02
python3
一、简单的概念与术语
编码(动词):按照某种规则(这个规则称为:编码(名词))将“文本”转换为“字节流”。而在python 3中则表示:unicode变成str
解码(动词):将“字节流”按照某种规则转换成“文本”。而在python3中则表示:str变成unicode
实际上,任何东西在计算机中表示,都需要进行编码。例如,视频需要编码然后保存在文件中,播放的时候需要解码才能观看。
二、Python中encode、decode的使用叙述
首先,encode是unicode转换成str;decode是str转换成unicode。
s.encode('...'):在python 3中,将产生一个编码后的byte类型的字符串(这里有点像Python 2.x中的str),byte类型的字符串是支持解码操作的。
s.decode('...'):运行都会出错。因为python 3中的str类型对象有点像Python 2中的unicode, 而decode是将str转为unicode编码,所以str仅有一个encode方法,调用这个方法后将产生一个编码后的byte类型的字符。
三、文件读取过程中之前是以什么方式(gbk/utf8)编码存储,在打开时就需要以什么方式解码。python3中str相当于unicode类型
with open(r'D:\python\cfiles\gbk编码.txt',encoding='gbk') as f1,\
open(r'D:\python\cfiles\utf8编码.txt',encoding='utf8') as f2:
con1=f1.read()
con2=f2.read()
content=con1+'\n'+con2
print(content)
newFile=input('请输入新文件的名称:')
with open(newFile,'w',encoding='utf8') as f3:
f3.write(content)
python2
1、用open() 内置函数打开
file_object=open(file_name,access_mode='r'/'w')
1)‘r’--只读(缺省,如文件不存在会报错,文件指针seek()在文件的开头)
进入到当前工作目录如cmd---cd d:\workspace\file
open('file1.txt')或open('./file1.txt')
open('..file1.txt') ..表示当前副目录
代码如下
f=open('file1.txt','r')
f.read()
2)读取文件中固定字节
file_object = open('abinfile', 'rb')
chunk = file_object.read(100)
3)逐行读取文件内容
f = open("1.txt","r")
lines = f.readlines()#读取全部内容
for line in lines
print line
第二种
f = open("foo.txt") # 返回一个文件对象
line = f.readline() # 调用文件的 readline()方法
while line:
print line, # 后面跟 ',' 将忽略换行符
# print(line, end = '') # 在 Python 3中使用
line = f.readline()
f.close()
‘w’--只写(为了写文件而打开文件,如果已存在,其内容会清空,不存在则创建)
代码如下:
====写文本文件
f=open('file1.txt','w')
f.write('hello world!') 写入的文件会暂时放进 文件缓冲区
f.flush() 刷新操作,重新打开该文件会看到写进的内容
====写二进制文件
f=open('file1.txt','wb')
===追加写文件
f=open('file1.txt','w+')
‘a’--追加
‘b’--二进制模式下打开音频、图像等
‘+’--可读可写 w+ 文件已存在会清空,不存在则创建;r+不清空,不创建
with open('file1.txt','w+') as f: (文件打开的另一种方式)
f.write('how are you\n')
f.seek(0)文件指针定位在开头,不然读出来是空数据
data=f.read()
2、文件指针
每打开一个文件就会创建一个文件指针。通过文件对象的tell()方法获取文件指针的位置
seek()移动模式
f.seek(0,2) #移到文件末尾
f.seek(-2,2) #文件倒数第二个字符
f.seek(0) #移动到头
f.seek(2,1) #当前指针往后2个字符
代码如下:
f=open('file1.txt') #文件指针在文件开头
f.tell() #查看文件指针
f.read(2) #读取两个字符
f.tell() #不写参数表示从当前执行的开始直到结束
f.close()#文件对象关闭
========
f.seek(2) 指定我们要移动到的位置
f.tell()
- 文件操作-打开、读写
- 输入/输出流---打开,读写文件操作
- 内核文件打开读写操作代码
- perl -文件的打开,读写操作
- linux下的读写打开,读写文件操作
- python文件读写操作---文件路径含有中文打开错误
- 打开文件 读写文件
- 随便写写 (加密,解密,文件读写打开操作)
- linux C复习:文件操作(创建、打开、读写)
- 文件类型,c语言文件读写,文件缓冲,文件打开方式,文件操作函数
- 创建,打开,读写文件实例
- 文件的打开与读写
- 关于文件的读写操作以及文件的打开和保存
- 关于文件的读写操作以及文件的打开和保存
- 文件读写操作
- 另一个文件读写操作
- [C++]文件读写操作
- 读写文件操作
- iOS
- 高并发网络编程之epoll详解
- win10 安全模式开机
- java 标签中图片加载不完全问题
- java中==和equals的区别
- 文件操作-打开、读写
- Android串口通信:串口读写实例
- 理解RecyclerView的RecyclerView.ItemDecoration(二)
- 一起艳恶学习开发遇到的坑(一)
- 仿淘宝一键置顶的判断及其详细实现
- ajax跨域问题以及解决方案
- java集合框架之Vector
- 5-4 List Leaves
- 简单理解树状数组(单个数据)