文件处理
1.打开文件
使用如下语法:
fileVariable = open(filename, mode)
filename指定一个文件,mode指定打开文件的方式,具体方式可选择下表中某一个:
模式 | 描述 |
---|---|
r | 为读取打开一个文件 |
w | 为写入打开一个文件,如果文件已经存在就会覆盖其内容,如果不存在就会创建文件 |
a | 打开一个文件从文件末尾追加数据 |
rb | 为读取二进制数据打开文件 |
wb | 为写入二进制数据打开文件 |
例如:
input = open(r"/home/usr/test.txt", "r")
2.写入数据
- 2.1 当使用open函数成功后就会创建一个文件对象(_io.TextIOWrapper类的实例),它包含了读写数据和关闭文件的方法,如下表:
_io.TextIOWrapper | |
---|---|
read([number.int]): str | 返回自定个数个字符,如果参数被忽略,那么读取文件中全部剩余的内容 |
readline(): str | 以字符串格式返回文件下一行 |
readlines(): list | 返回文件剩余行的列表 |
write(s: str): None | 向文件写入字符串 |
close(): None | 关闭文件 |
提示:我们知道当使用print()函数的时候,函数会在显示字符串后面自动添加一个换行符\n,但是这里的write函数不会自动添加换行符进来,所以当我么希望换行的时候,必须主动的给文件写入一个换行字符。
-
2.2 检测文件存在性
为了防止在当前目录下已经存在的文件被意外消除,在打开一个文件进行写操作前应该检测该文件是否已经存在。可以使用os.path模块中的isfile函数判断,当文件存在就会返回true, 例:
import os.path
if os.path.isfile("presidents.txt"):
print("文件已经存在")
- 2.3 从文件中读取所有数据
可以使用read()(返回字符串)或readlines()(返回字符串列表)读取文件的所有行,但是这比较适用于小文件,当文件过大的时候,无法全部存在存储器中。那么可以使用循环一次读取一行来进行读取。最后,如果你的时间不是很紧张,并且又想快速的提高,最重要的是不怕吃苦,建议你可以联系维:762459510 ,那个真的很不错,很多人进步都很快,需要你不怕吃苦哦!大家可以去添加上看一下~
Python中允许使用for循环来读取文件所有行:
for line in infield:
例:将文件f1中的数据写入到f2中: