Python File

一、文件主要方法

  1. open() :用于打开一个文件,并返回文件对象。在使用完文件对象后,一定要记得关闭文件对象。
f = open(file_path, mode='r', buffering=-1, encoding=None, errors=None, newline=None)
## 参数定义:
file_path: 文件路径(相对或者绝对路径)
mode: 文件打开模式
buffering: 是否使用缓冲区
encoding: 打开文件时所使用的编码格式,一般使用utf8
errors: 报错级别
newline: 区分换行符

## 常见打开模式类型:
r: 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
rb: 以二进制格式打开一个文件用于只读,文件指针将会放在文件的开头。一般用于非文本文件如图片、音频等。
r+: 打开一个文件用于读写,文件指针将会放在文件的开头。
rb+: 以二进制格式、采用读写模式打开文件,读写文件的指针会放在文件的开头,通常针对非文本文件(如音频文件)。
w: 打开一个文件只用于写入,若该文件存在,打开时会清空文件中原有的内容,如果该文件不存在,创建新文件。
wb: 以二进制格式、只写模式打开文件,一般用于非文本文件(如音频文件)。
w+: 打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
wb+: 以二进制格式、读写模式打开文件,一般用于非文本文件(如音频文件)。
a: 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件进行写入。
ab: 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件进行写入。
a+: 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾,新写入的文本从结尾追加。如果该文件不存在,创建新文件用于读写。
ab+: 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。
  1. close() :用于关闭一个已打开的文件。关闭后的文件不能再进行读写操作, 否则会触发 ValueError 错误,close() 方法允许调用多次。
# 以追加的模式打开文件
fi = open("test.txt", "a")

# 关闭文件
fi.close()
  1. read():用于读取一定数目的数据, 然后作为字符串或字节对象返回。size参数用于设置读取数据的大小,默认不设置size大小,读取全部数据。
# 以默认只读的方式打开一个文件
fi = open("test.txt")

## 读取文件全部内容
str = fi.read()

## 读取文件10个字符内容
str = fi.read(10)

# 关闭文件
fi.close()
  1. readline():用于从文件中读取单独的一行,换行符为 ‘\n’。
# 以默认只读的方式打开一个文件
fi = open("test.txt")

## 读取文件中一行内容
str = fi.readline()

# 关闭文件
fi.close()
  1. readlines():用于从文件中每行的内容。
# 以默认只读的方式打开一个文件
fi = open("test.txt")

## 读取文件中每行内容
str = fi.readlines()

# 关闭文件
fi.close()
  1. write():用于将内容写入到文件中, 然后返回写入的字符数。如果要写入一些不是字符串的东西, 那么将需要先进行转换。
# 以只写的模式打开一个文件
fi = open("test.txt", "w")

num = fi.write( "hello!\n world!!\n" )

# 关闭打开的文件
fi.close()
  1. writelines():用于将字符串列表写入文件中。
## 以只读的模式打开一个文件
fi = open("test1.txt", "r")

## 以只写的模式打开一个文件
fo = open("test2.txt", "w")

## 将fi对象的读取的文件行数写入test2.txt文件中
fo.writelines(fi.readlines())

fi.close()
fo.close()
  1. tell():返回文件对象当前所处的位置, 它是从文件开头开始算起的字节数。
fi = open("test1.txt", "r")
print(fi.tell())
fi.read(3)
print(f.tell())

## 结果为
0
3
  1. seek():用于将文件指针移动至指定位置。
fi.seek(offset, from_what) 
offset:偏移量,正数表示向右偏移,负数表示向左偏移。
from_what:文件指针要放置的位置,默认值是 0 表示从开头位置开始移动,  1 表示当前位置, 2 表示文件的结尾。

1.将文件指针从文件开头,向右移动到 5 个字符的位置
fi.seek(5)

2.将文件指针从当前位置,向右移动到 5 个字符的位置
fi.seek(5, 1)

3.将文件指针从当前位置,向左移动到 5 个字符的位置
fi.seek(-5, 1)

4.将文件指针从文件尾部,向左移动到 5 个字符的位置
fi.seek(-5, 2)
  1. with as:用于操作已经打开的文件对象,与直接使用open()对象去操作的主要却别就是在于使用with as语句可以不用关闭文件对象。
with open('test.txt', 'a') as f:
    f.write("hello world")

你可能感兴趣的:(python,python)