首页 > 其他 > 详细

文件操作

时间:2019-04-25 18:38:49      阅读:99      评论:0      收藏:0      [点我收藏+]

一、读

1.open打开文件,文件信息到内存需要由unicode->utf-8(默认)

file=, mode=, encoding= 可以省略不写,r 是只读

例子:

f = open(file="将进酒", mode=r, encoding=utf-8)
data = f.read()
print(data)
f.close()

结果:

技术分享图片

2.读取二进制,即bytes,不进行编码

mode=‘rb‘

例子1:

f = open(file="将进酒", mode=rb)
data = f.read()
print(data)
f.close()

结果:

技术分享图片

例子2:

需要将bytes->str,解码

f = open(file="将进酒", mode=rb)
data = f.read()
new_data = data.decode(utf-8)
print(new_data)
f.close()

结果:

技术分享图片

3.探索编码

1)安装chardet

技术分享图片

点击pycharm的settings

技术分享图片

点击‘+‘按钮,在搜索框中搜索,大年纪‘Install Package’(我已经安装过了所以是灰的)

2)例子

import chardet
f = open(file="将进酒", mode=rb)
data = f.read()
det = chardet.detect(data)
print(det)
f.close()

结果:

技术分享图片

二、写

1.mode=‘w‘, 像Linux的清空写入(>)

例子:

f = open(file="将进酒", mode=w, encoding=utf-8)
f.write("李白")
f.close()

结果:

技术分享图片

2.写模式也有‘wb‘,这里就不加赘述

三、追加

1.mode=‘a‘,相当于Linux的追加写入

例子

f = open(file="将进酒", mode=a, encoding=utf-8)
f.write("将进酒")
f.close()

结果

技术分享图片

2.当然追加模式也有‘ab‘,这里也不加赘述

四、混合操作

1.mode= ‘r+’

f = open(file="将进酒", mode=r+, encoding=utf-8)
data = f.read()
print(data)
f.write("将进酒")
f.close()

2.结果

技术分享图片

解释:f.read(),光标移到f内容的最后面,即"李白将进酒|",

          f.write()在光标后书写内容

2.还有一种mode=‘w+‘,写读模式,不大常用,就不写了

五、常用方法

1.tell()

告诉你光标当前的位置(根据字节)

例子:

f = open(file="将进酒", mode=r+, encoding=utf-8)
data = f.read()
print(data)
a = f.tell()
print(a)
f.close()

结果:

技术分享图片

解释:utf-8,中文一个字符对应三个字节

2.seek()

将光标移到,你想要去的位置(注意字符与字节的关系)

例子:

f = open(file="将进酒", mode=r+, encoding=utf-8)
data = f.read()
print(data)
a = f.tell()    # 获取当前光标的位置
print(a)
b = f.seek(12)  # 设置当前光标的位置
print(b)
c = f.tell()    # 获取当前光标的位置
print(c)
f.close()

结果:

技术分享图片

3.readline()

1)循环读取

例子

f = open(file="将进酒", mode=r+, encoding=utf-8)
# data = f.read()
# print("Content:", data)
# f.write("\n李白1")
# f.write("\n李白2")
# f.write("\n李白3")
# f.seek(0)
# new_data = f.read()
# print("Content:", new_data)
f.seek(0)
for i in f:
    print(i)
f.close()

结果:

技术分享图片

 2)命令

例子:

f = open(file="将进酒", mode=r+, encoding=utf-8)
# data = f.read()
# print("Content:", data)
# f.write("\n李白1")
# f.write("\n李白2")
# f.write("\n李白3")
# f.seek(0)
# new_data = f.read()
# print("Content:", new_data)
f.seek(0)
a = f.readline()
print(a)
f.close()

结果:

技术分享图片

六、文件存储方法

文件操作

原文:https://www.cnblogs.com/wt7018/p/10770006.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!