Python文件处理

举报
Python爱好者 发表于 2020/12/29 01:37:36 2020/12/29
【摘要】 Python文件操作教程 在python里面我们必不可少的就是要与文件打交道,这个时候我们使用open方法就可以打开或者是创建文件了。可以读取文件内容,也可以写入内容。 """    文件操作,open()返回一个file对象,r+主模式为读,但也可以写。 w+主模式为写,但也可以读    1- 如果"r"的方式打开,不存在会报错异常,存在的话会打开并且...

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)

"""

640?wx_fmt=png

文章来源: blog.csdn.net,作者:敲代码的灰太狼,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/tongtongjing1765/article/details/100789946

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。