前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python文件处理

Python文件处理

作者头像
我被狗咬了
发布2019-09-23 15:06:02
6180
发布2019-09-23 15:06:02
举报
文章被收录于专栏:Python乱炖

Python文件操作教程

在python里面我们必不可少的就是要与文件打交道,这个时候我们使用open方法就可以打开或者是创建文件了。可以读取文件内容,也可以写入内容。

"""

文件操作,open()返回一个file对象,r+主模式为读,但也可以写。 w+主模式为写,但也可以读

1- 如果"r"的方式打开,不存在会报错异常,存在的话会打开并且返回该对象

2- 如果"w"的方式open,不存在的文件不会报错,但是会**创建**一个新的文件

3- 读取和写入的时候不能write多次和read多次,只能open-close之后再次操作,否则无效

"""

# 文件的打开

a_file = open("Test.txt", "w+")

# 文件的读写

a_file.write("Hello World!")

# 关闭文件

a_file.close()

"""

1- read(2) 读取2个字节, 无参表示读取全部

2- readline() 读取一行,再次readline()就会光标读取下一行

"""

b_file = open("Test.txt", "r")

result = b_file.read()

print(result)

b_file.close()

"""

中文的问题,可以在open的时候关键字参数指定编码open(encoding="utf-8")

file的访问模式:

1- "w" 先清空再写入,以文本的方式写入保存

2- "r" 不存在会直接异常报错

3- "a" -> append追加,也是写入的一种

4- "rb" 读取进制数据,显示的都是16进制的数字,需要解码decode

5- "wb" 以二进制的方式写入, 保存方式的不同,直接保存文本会报错,需要.encode("utf-8")保存

"""

c_file = open("Test.txt","wb")

c_file.write("中国".encode("utf-8")) # 文本.encode压缩

c_file.close()

d_file = open("Test.txt","rb") # 中文只能read(3)显示一个汉字

result = d_file.read().decode(encoding="utf-8") # 二进制读取的解码

print(result)

"""

题目

应用: 文件的备份copy

"""

old_file = open("Test.txt", "r")

result = old_file.readlines()

print(result)

# for循环开始进行copy写入

new_file = open("Test(附件).txt", "w")

for line in result:

new_file.write(line)

old_file.close()

new_file.close()

"""

上面的例子直接readlines(),并不是完美的copy方法

如果文件过大,一点点的读取写入,内存问题,防止电脑变卡

在读取的时候,可以按行读取或者按照公司的字节读取(2014)

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-09-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python乱炖 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档