Python open()函数
Python-派大星 人气:0前言:
文件处理是任何 Web 应用程序的重要组成部分。
Python 有几个用于创建、读取、更新和删除文件的函数。
1.文件处理
在 Python
中使用文件的关键函数是 open()
函数。
有四种打开文件的不同方法(模式):
- "r" - 读取 - 默认值。打开文件进行读取,如果文件不存在则报错。
- "a" - 追加 - 打开供追加的文件,如果不存在则创建该文件。
- "w" - 写入 - 打开文件进行写入,如果文件不存在则创建该文件。
- "x" - 创建 - 创建指定的文件,如果文件存在则返回错误。
此外,您可以指定文件是应该作为二进制还是文本模式进行处理。
- "t" - 文本 - 默认值。文本模式。
- "b" - 二进制 - 二进制模式(例如图像)。
open() 函数有两个参数:文件名和模式。
open()函数 语法格式:
f=open("a.txt","r") #以只读的方式打开a.txt文件,并创建一个文件对象f。
这里的f等于以只读的方式打开的a.txt文件
read()函数 括号里可以输入想读取文件字符的数量,括号里没有参数则默认读取该文件全部内容
print(f.read()) #读取文件全部内容 print(f.read(6)) #读取文件前6个字符
readline()函数 读取一行文件的内容:
print(f.readline()) #读取第一行内容 #若只想读取前两行内容,则可以这样写: print(f.readline()) print(f.readline()) """依次读取一行内容,已经读取的内容不会重复读取,所以写两遍就可以读取两行内容。"""
close()函数 关闭文件:
既然有open()打开文件,那就有close()关闭文件
把缓冲区的内容写入文件,同时关闭文件,释放文件对象相关资源
打开了文件后,完成对文件的编辑和使用就close关闭文件
#close()函数使用方法: f=open("a.txt","r") #打开文件 print(f.read(5)) #读取前五个字符 print(f.readline()) #然后再读取一行字符 f.close() #完成对文件的使用后关闭文件
2.Python 文件写入
写入已有文件:
如需写入已有的文件,必须向 open() 函数添加参数:
- "a" - 追加 - 会追加到文件的末尾
- "w" - 写入 - 会覆盖任何已有的内容
打开文件 "a.txt
" 并将内容追加到文件中
f=open("a.txt","a") #以"a"追加写入的方式打开文件 f.write("Hello python!") #以"a"的方式打开的文件写入内容时,会将内容追加在之前内容的末尾。 f.close() #将缓冲区的内容写入到文件中,写完内容后关闭文件。 """每次运行都会在文件末尾追加Hello python,运行三次后,就会有三句Hello python"""
打开文件 "a.txt
" 并覆盖内容
f=open("a.txt","w") #以"w"写入的方式打开a.txt文件 f.write("Hello python!")
以"w"方式打开的文件,每次写入内容都会覆盖之前的内容。所以不管运行多少次,文件里只有Hello python
!f.close()
把缓冲区的内容写入文件,并关闭文件。释放文件对象的相关资源。
每次写入完内容后建议关闭一下文件,因为文件不一定会立马保存进文件,而是存在缓冲区。
使用close()
函数关闭文件时,会将缓冲区的内容写入文件。
注意:"w"方法会覆盖全部内容。
3.创建新文件
如果需要在python中创建新文件,则使用open()方法,并使用以下方法:
- "x" 创建 -将创建一个文件,如果文件存在则返回错误
- "a" 追加 -如果指定文件不存在,将创建一个文件
- "w" 写入 -如果指定的文件不存在,将创建一个文件
实例:
创建名为"b.txt"的文件:
f=open("b.txt","x") #创建并打开b.txt文件 #如果文件已存在则报错显示文件以存在: FileExistsError: [Errno 17] File exists: '海龟编程test1.py' #如果不存在,则创建新文件。
4.删除文件
如果需要删除文件,必须导入OS模块,并运行其os.remove()函数:
#删除b.txt文件 import os #导入os模块 os.remove("b.txt") #使用os.remove("文件名") 函数删除文件。
检查文件是否存在:
为避免出现错误,您可能需要在尝试删除文件之前检查该文件是否存在:
实例
检查文件是否存在,然后删除它:
import os if os.path.exists("d.txt"): os.remove("d.txt") else: print("The file does not exist")
删除文件夹
如需删除整个文件夹,请使用 os.rmdir() 方法:
import os os rmdir("b.txt") # 删除整个文件夹
注意:只能删除空文件夹
加载全部内容