欢迎访问宙启技术站
智能推送

Python文件操作函数详解:读写文件的常用方法

发布时间:2023-06-11 13:26:55

Python中文件操作是很常见的功能,它可以读取文件内容、修改文件内容、创建和删除文件、以及对文件进行其他的操作,其中读写文件是最常用的几个操作方法。

一、读取文件内容的方法:

1、open()函数

在Python中,想要读/写文件,首先要打开文件,使用通用的IO操作的方法就是使用open()函数打开一个文件,该函数的语法如下:

open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)

其中,文件名必须是字符串类型,另外有个很重要的参数是mode,用于指定打开文件的模式。常用模式如下所示:

(1)‘r’: 以只读方式打开文件(默认),该文件必须存在。

(2)‘w’: 以写的方式打开文件,如果文件存在,就直接覆盖文件内容,如果文件不存在,就新建一个文件。

(3)‘a’: 以追加方式打开文件,如果文件存在,则直接从文件末尾进行数据写入,如果文件不存在,就新建一个文件。

打开文件后,我们可以使用以下两种方法读取文件的内容:

2、读取整个文件内容:read()

read()方法相当于Java中的读取文件的InputStream类的read()方法,该方法用于读取整个文件的内容,使用该方法时没有参数。

语法:file.read()

示例:

Filepath = "./test.txt"

f = open(Filepath, "r")

cont = f.read()

print(cont)

f.close()

3、读取一行内容:readline()

readline()方法可以用于读取文件内容中的一行,并返回该行的字符串。每次使用该方法时,文件读取指针会自动向后移动一行,因此,可以通过反复调用此方法来读取文件的所有行。

语法:file.readline()

示例:

Filepath = "./test.txt"

f = open(Filepath, "r")

cont = f.readline()# 读取第一行

while cont:

    print(cont.strip()) #保证输出不空行

    cont = f.readline() #读取下一行

f.close()

4、读取所有行:readlines()

readlines()用于读取文件内容中的所有行,返回一个列表,其中每个列表元素为一个文件中的一行。

语法:file.readlines()

示例:

Filepath = "./test.txt"

f = open(Filepath, "r")

cont = f.readlines()

for line in cont:

    print(line.strip())

f.close()

二、修改文件内容的方法:

Python中修改文件的方法非常简单,只需要按照以下步骤即可:

1、打开文件,以写的方式打开

2、使用write()方法向文件中写入修改的内容

3、关闭文件

示例:

Filepath = "./test.txt"

f = open(Filepath, "w")

f.write("this is a modified content!")

f.close()

三、创建和删除文件的方法:

1、文件创建

Python中创建文件很容易,只需要使用open()方法指定创建文件的模式为" (w)",然后写入文件内容即可。

示例:

Filepath = "./new.txt"

f = open(Filepath, "w")

f.write("这是新创建的文件!")

f.close()

2、文件删除

Python中删除文件同样很容易,只需要使用该操作系统下的remove()方法即可,该方法可以删除指定的文件。

示例:

Filepath = "./new.txt" 

os.remove(Filepath)

四、文件重命名和移动

Python中文件的重命名也很容易,可以使用本系统下的rename()方法来实现。该方法会将原有的文件名修改为指定的新文件名。

示例:

Filepath = "./test.txt"

NewFilepath = "./renamed.txt"

os.rename(Filepath, NewFilepath)

同样,Python中移动文件到其他目录下也很容易,只需要指定新文件路径即可。

示例:

Filepath = "./test.txt"

NewFilepath = "/newdir/test.txt"

shutil.move(Filepath, NewFilepath)

五、文件属性的修改方法

Python中通过os模块中的stat()函数来获得文件的一些属性信息,例如:文件的访问时间、修改时间、文件大小等。

使用方法为:

os.stat('filepath')

得到的文件属性信息会包括一些元组里的内容,如下所示:

st_mode – inode 节点的模式

st_ino – inode 节点的标志符

st_dev – inode 节点所在的设备

st_nlink – inode 被引用的次数

st_uid – 所有者的用户ID

st_gid – 所有者的组ID

st_size – 文件的大小,如果是目录返回4096

st_atime – 上次访问时间

st_mtime – 上次修改时间

st_ctime – 上次改变时间,包括文件属性和内容的修改时间

Python中也可以通过os模块提供的chmod()方法来修改文件的读写权限。

需要注意的是,要使用该方法必须具有管理员权限,否则将不能修改文件的权限。该方法的使用如下所示:

os.chmod('filepath', 0755)

其中,参数"0755"代表:文件所有者的权限是7(二进制111),即可读可写可执行;文件所在的组的权限是5(二进制101),即可读不可写执行;其他用户的权限是5(二进制101),即可读不可写执行。

以上就是Python读写文件时常用的几种方法。需要注意的是,读文件时遇到的内容分割符是"

",由于系统不同,该符号可能并不是以"

"作为文件的分割符 。另外,编写Python程序时一定要注意异常处理,这是一个好的编程习惯。