例如:
打开文件并输出内容:
f = open("demofile.txt", "r") print(f.read())
1、定义和用法
open()
函数打开一个文件,并将其作为文件对象返回。
2、调用语法
open(name[, mode[, buffering]])
3、参数说明
参数 | 描述 |
file | 文件的路径和名称字符串 |
mode | mode 决定了打开文件的模式:只读,写入,追加等。 所有可取值见如下的完全列表。这个参数是非强制的, 默认文件访问模式为只读(r)。 |
buffering | 如果 buffering 的值被设为 0,就不会有寄存。 如果 buffering 的值取 1,访问文件时会寄存行。 如果将 buffering 的值设为大于 1 的整数, 表明了这就是的寄存区的缓冲大小。 如果取负值,寄存区的缓冲大小则为系统默认。 |
mode | 描述 |
---|---|
r | 以只读方式打开文件。 文件的指针将会放在文件的开头。 这是默认模式。 |
rb | 以二进制格式打开一个文件用于只读。 文件指针将会放在文件的开头。这是默认模式。 |
r+ | 打开一个文件用于读写。文件指针将会放在文件的开头。 |
rb+ | 以二进制格式打开一个文件用于读写。 文件指针将会放在文件的开头。 |
w | 打开一个文件只用于写入。如果该文件已存在则打开文件, 并从开头开始编辑,即原有内容会被删除。 如果该文件不存在,创建新文件。 |
wb | 以二进制格式打开一个文件只用于写入。 如果该文件已存在则打开文件, 并从开头开始编辑,即原有内容会被删除。 如果该文件不存在,创建新文件。 |
w+ | 打开一个文件用于读写。如果该文件已存在则打开文件, 并从开头开始编辑, 即原有内容会被删除。如果该文件不存在,创建新文件。 |
wb+ | 以二进制格式打开一个文件用于读写。 如果该文件已存在则打开文件, 并从开头开始编辑,即原有内容会被删除。 如果该文件不存在,创建新文件。 |
a | 打开一个文件用于追加。如果该文件已存在, 文件指针将会放在文件的结尾。 也就是说,新的内容将会被写入到已有内容之后。 如果该文件不存在,创建新文件进行写入。 |
ab | 以二进制格式打开一个文件用于追加。如果该文件已存在, 文件指针将会放在文件的结尾。也就是说, 新的内容将会被写入到已有内容之后。 如果该文件不存在,创建新文件进行写入。 |
a+ | 打开一个文件用于读写。如果该文件已存在, 文件指针将会放在文件的结尾。文件打开时会是追加模式。 如果该文件不存在,创建新文件用于读写。 |
ab+ | 以二进制格式打开一个文件用于追加。如果该文件已存在, 文件指针将会放在文件的结尾。如果该文件不存在, 创建新文件用于读写。 |
file 对象方法
file.read([size]):size 未指定则返回整个文件,如果文件大小 >2 倍内存则有问题,f.read()读到文件尾时返回""(空字串)。
file.readline():返回一行。
file.readlines([size]) :返回包含size行的列表, size 未指定则返回全部行。
for line in f: print line :通过迭代器访问。
f.write("hello\n"):如果要写入字符串以外的数据,先将他转换为字符串。
f.tell():返回一个整数,表示当前文件指针的位置(就是到文件头的字节数)。
f.seek(偏移量,[起始位置]):用来移动文件指针。
- 偏移量: 单位为字节,可正可负
- 起始位置: 0 - 文件头, 默认值; 1 - 当前位置; 2 - 文件尾
f.close() 关闭文件