博客
关于我
七.Python文件操作
阅读量:325 次
发布时间:2019-03-04

本文共 2195 字,大约阅读时间需要 7 分钟。

Python文件操作指南

文件操作基础

在Python中,文件操作是日常编程中常用的功能之一。通过合理使用文件操作,可以实现文件的读取、写入、追加以及修改等操作。了解文件操作的权限和编码格式是进行文件操作的重要前提。

文件权限

文件权限决定了你对文件的操作方式。常见的权限包括:

  • 读权限 (r): 只能读取文件内容
  • 写权限 (w): 可以向文件中追加内容(注意:如果文件不存在,w权限会自动创建新文件)
  • 追加权限 (a): 只能向文件中追加内容,不能修改已有内容
  • 读写权限 (r+): 可以读取和追加文件内容
  • 读写及修改权限 (w+): 可以读取、写入和修改文件内容
  • 可读可写权限 (a+): 可以读取、追加内容(如果文件不存在,会自动创建)

读取文件

读取文件是最常见的文件操作之一。可以使用以下方法:

# 打开文件并读取内容
f = open("a", "r", encoding="utf-8")
print(f.read()) # 读取整个文件内容
print(f.readline()) # 逐行读取文件内容
print(f.readable()) # 判断文件是否可读
f.close() # 关闭文件

写入文件

写入文件可以通过以下方式实现:

# 打开文件并准备写入内容
f = open("a", "w", encoding="utf-8")
print(f.writable()) # 判断文件是否可写
f.write("Hello World!") # 将内容写入文件
f.close()

追加文件内容

追加写入文件是写入操作的一种高级功能。可以通过以下方法实现:

# 打开文件追加写入内容
f = open("a", "a", encoding="utf-8")
f.write("\n11111") # 追加一行内容
f.writelines(["\nhahhaha", "1111"]) # 将列表中的每个元素作为一行写入文件
f.close()

修改文件

有时候需要对文件进行修改操作,比如清除空白行或换行符。可以通过以下方式实现:

# 打开文件进行修改
f = open("a", "r+", encoding="utf-8")
lines = f.readlines() # 读取所有行内容
line = []
for i in lines:
line.append(i.replace("\n", ""))
print(line)
f.writelines(line) # 将修改后的内容写入文件
f.close()

文件操作高级功能

除了基础的文件操作,Python还提供了更多高级功能可以帮助开发者更方便地操作文件。

编码格式

文件编码格式的设置对于正确读取和写入文件内容至关重要。可以通过以下方式设置编码格式:

# 写入文件时设置编码格式
f = open("a", "wb")
f.write("Hello World!".encode("utf-8"))
f.close()
# 读取文件时设置编码格式
f = open("a", "rb")
con = f.read()
print(type(con)) # 输出:
print(con.decode("utf-8")) # 解码后的字符串
f.close()

flush()

flush() 方法用于立即将文件缓冲区内容写入磁盘,避免数据丢失。

# 使用 flush() 方法
f = open("a", "wb")
f.write("aaa".encode("utf-8"))
f.flush()
f.close()

tell() 和 seek()

tell() 方法返回文件当前的位置,seek() 方法用于移动文件读取或写入的位置。

# 使用 tell() 和 seek() 方法
f = open("a", "rb")
print(f.tell()) # 输出:
<编号>
print(f.read()) # 读取文件内容
print(f.tell()) # 输出:
<新的编号>
f.close()
# 使用 seek() 方法移动位置
f = open("a", "rb")
print(f.read().decode("utf-8")) # 读取当前位置的内容
f.seek(1, 0) # 移动到第 2 位
print(f.read().decode("utf-8")) # 读取移动后的内容
f.close()

truncate()

truncate() 方法可以截断文件的大小。

# 截断文件
f = open("a", "r", encoding="utf-8")
print(f.name) # 文件名
print(f.read()) # 文件内容
f.close()

文件名称获取

可以通过 f.name 属性获取文件的名称。

# 获取文件名
f = open("a", "r", encoding="utf-8")
print(f.name) # 输出:
<文件名>
f.close()

通过以上方法,开发者可以更高效地进行文件操作,从而提升代码的性能和可维护性。

转载地址:http://avnq.baihongyu.com/

你可能感兴趣的文章
node防xss攻击插件
查看>>
noi 1996 登山
查看>>
noi 7827 质数的和与积
查看>>
NOI-1.3-11-计算浮点数相除的余数
查看>>
noi.ac #36 模拟
查看>>
NOI2010 海拔(平面图最大流)
查看>>
NOIp2005 过河
查看>>
NOIP2011T1 数字反转
查看>>
NOIP2014 提高组 Day2——寻找道路
查看>>
noip借教室 题解
查看>>
NOIP模拟测试19
查看>>
NOIp模拟赛二十九
查看>>
Vue3+element plus+sortablejs实现table列表拖拽
查看>>
Nokia5233手机和我装的几个symbian V5手机软件
查看>>
non linear processor
查看>>
Non-final field ‘code‘ in enum StateEnum‘
查看>>