浅谈Python3中打开文件的方式(With open)

  • Post category:Python

浅谈Python3中打开文件的方式(With open)

在Python3中,打开文件一般使用with open语句,同时可以指定文件打开的方式(mode)。

with open语句

with open语句可以帮助我们自动关闭已打开的文件,从而避免因忘记关闭文件而造成的资源浪费等问题。使用with open语句,我们可以将要访问文件的代码放在代码块中,with open块结束时,文件自动关闭。

下面是with open语句的基本语法:

with open(file_path, mode) as fp:
    # 在这里进行文件读写操作

具体参数意义如下:

  • file_path:要打开的文件路径;
  • mode:文件打开方式,指定读写权限,常见的有’w+’、’r+’、’a+’等。

代码示例:

# 以只读方式打开文件,并读取文件内容
with open('example.txt', 'r') as fp:
    content = fp.read()
    print(content)

文件打开模式

with open语句中的mode参数,用于指定打开文件的方式。下面是各种文件打开方式的说明。

读写操作

在Python中,可以通过以下方式打开文件并进行读写操作:

  • r:只读模式,打开文件后只能读取文件内容,不能写入或修改文件;
  • w:只写模式,用于创建新文件或清空已有文件,写入的内容会覆盖文件原有内容;
  • x:只写模式,用于创建新文件,如果文件已存在则会报错;
  • a:追加模式,用于在文件末尾添加内容,写入的内容会被追加到已有内容后面;
  • r+:读写模式,可同时进行读写操作,不会清空文件内容;
  • w+:读写模式,用于创建新文件或清空已有文件,写入的内容会覆盖文件原有内容;
  • x+:读写模式,用于创建新文件,如果文件已存在则会报错,并且可同时进行读写操作;
  • a+:读写模式,用于在文件末尾添加内容,并且可同时进行读写操作,写入的内容会被追加到已有内容后面。

代码示例:

# 以只写方式打开文件,并写入内容
with open('example.txt', 'w') as fp:
    fp.write('Hello, World!\n')
    fp.write('This is an example file.\n')

# 以只读方式打开文件,并读取文件内容
with open('example.txt', 'r') as fp:
    content = fp.read()
    print(content)

二进制文件操作

在Python中,也可以通过以下方式打开二进制文件并进行操作:

  • rb:以二进制格式只读打开文件;
  • wb:以二进制格式只写打开文件,清除文件中现有所有数据;
  • ab:以二进制格式追加打开文件,保留现有所有数据;
  • r+b:以二进制格式读写打开文件,文件指针指向文件头部;
  • w+b:以二进制格式读写打开文件,清除文件中现有所有数据;
  • a+b:以二进制格式读写打开文件,保留现有所有数据,文件指针指向文件末尾;

代码示例:

# 以二进制只写方式打开文件,并写入内容
with open('example.bin', 'wb') as fp:
    fp.write(b'\x48\x65\x6c\x6c\x6f\x2c\x20\x57\x6f\x72\x6c\x64\x21')

# 以二进制只读方式打开文件,并读取文件内容
with open('example.bin', 'rb') as fp:
    content = fp.read()
    print(content)

tips

当文件对象处理完后,默认是将内容缓存在内存中的,如果文件对象占用的内存开销比较大,我们可以使用with语句手动清除缓存,或者直接使用close方法关闭文件对象。

关于Python3中打开文件的方式,就介绍到这里,希望对大家有所帮助。