赞
踩
file
对象。open(name,
mode,
buffering
)
参数:
name
: 一个包含了要访问的文件名称的字符串值。
mode
: mode
决定了打开文件的模式:只读,写入,追加等。所有可取值见如下的完全列表。这个参数是非强制的,默认文件访问模式为只读(r
)。
buffering
: 如果buffering
的值被设为 0,就不会有寄存。如果buffering
的值取 1,访问文件时会寄存行。如果将buffering
的值设为大于 1 的整数,表明了这就是的寄存区的缓冲大小。如果取负值,寄存区的缓冲大小则为系统默认。
不同模式打开文件的完全列表:
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
(偏移量,[起始位置]):用来移动文件指针。
f.close()
: 关闭文件。
# 测试文件名为:
# text.txt
# 测试文件内容为:
# abcdefg
# 每次操作后将文件复原
# r
# 以只读方式打开文件,文件不可写
# 要打开的文件不存在时会报错
# 文件的指针将会放在文件的开头
# 这是默认模式
# file = open('test.txt', 'r')
# FileNotFoundError: [Errno 2] No such file or directory: 'test.txt'
file = open('text.txt', 'r')
print(file.read())
# abcdefg
file.write('aaa')
# io.UnsupportedOperation: not writable
file.close()
# rb
# 以二进制格式打开一个文件用于只读,文件不可写
# 要打开的文件不存在时会报错
# 文件指针将会放在文件的开头
# 这是默认模式
# file = open('test.txt', 'rb')
# FileNotFoundError: [Errno 2] No such file or directory: 'test.txt'
file = open('text.txt','rb')
print(file.read())
b'abcdefg'
# file.write(b'aaa')
# io.UnsupportedOperation: not writable
file.close()
# r+
# 打开一个文件用于读写,写入内容为str
# 文件指针将会放在文件的开头
# 重新写入的内容从头开始替换
file = open('text.txt', 'r+')
file.write('aaa')
file.close()
file = open('text.txt','r')
print(file.read())
# 'abcdefg'
file.close()
# rb+
# 以二进制格式打开一个文件用于读写,写入内容为bytes
# 文件指针将会放在文件的开头
# 重新写入的内容从头开始替换
# file = open('text.txt','rb+')
# file.write('aaa')
# TypeError: a bytes-like object is required, not 'str'
file.write(b'aaa')
file.close()
file = open('text.txt','rb')
print(file.read())
# b'aaadefg'
file.close()
# w
# 打开一个文件只用于写入,写入内容为str
# 文件不可读
# 如果该文件已存在则将其覆盖,原文件内容将清空
# 如果该文件不存在,创建新文件
# file = open('test.txt', 'w')
# 创建一个空文件
file = open('text.txt', 'w')
file.write('gfedcba')
file = open('text.txt', 'r')
print(file.read())
file.close()
# wb
# 以二进制格式打开一个文件只用于写入,写入内容为bytes
# 文件不可读
# 如果该文件已存在则将其覆盖,原文件内容将清空
# 如果该文件不存在,创建新文件
# file = open('test.txt', 'wb')
# 创建一个空文件
file = open('text.txt', 'wb')
file.write(b'gfedcba')
file = open('text.txt', 'r')
print(file.read())
file.close()
# w+
# 打开一个文件用于读写,写入内容为str
# 如果该文件已存在则将其覆盖,原文件内容将清空
# 如果该文件不存在,创建新文件
# file = open('test.txt', 'w+')
# 创建一个空文件
file = open('text.txt', 'w+')
file.write('gfedcba')
file = open('text.txt', 'r')
print(file.read())
file.close()
# wb+
# 以二进制格式打开一个文件用于读写,写入内容为bytes
# 如果该文件已存在则将其覆盖
# 如果该文件不存在,创建新文件
file = open('text.txt', 'wb+')
file.write(b'gfedcba')
file = open('text.txt', 'r')
print(file.read())
file.close()
# a
# 打开一个文件用于追加(只写),写入内容为str
# 如果该文件已存在,文件指针将会放在文件的结尾,新的内容将会被写入到已有内容之后
# 如果该文件不存在,创建新文件进行写入
# file = open('test.txt', 'a')
# 创建一个空文件
file = open('text.txt', 'a')
file.write('aaa')
file.close()
file = open('text.txt')
print(file.read())
file.close()
# ab
# 以二进制格式打开一个文件用于追加(只写),写入内容为bytes
# 如果该文件已存在,文件指针将会放在文件的结尾,新的内容将会被写入到已有内容之后
# 如果该文件不存在,创建新文件进行写入
# file = open('test.txt', 'ab')
# 创建一个空文件
file = open('text.txt', 'ab')
file.write(b'aaa')
file.close()
file = open('text.txt')
print(file.read())
file.close()
# a+
# 打开一个文件用于追加(读写),写入内容为str
# 如果该文件已存在,文件指针将会放在文件的结尾,新的内容将会被写入到已有内容之后
# 如果该文件不存在,创建新文件用于读写
# file = open('test.txt', 'a+')
# 创建一个空文件
file = open('text.txt', 'a+')
file.write('aaa')
file.close()
file = open('text.txt')
print(file.read())
file.close()
# ab+
# 以二进制格式打开一个文件用于追加(读写),写入内容为bytes
# 如果该文件已存在,文件指针将会放在文件的结尾,新的内容将会被写入到已有内容之后
# 如果该文件不存在,创建新文件用于读写
file = open('text.txt', 'ab+')
file.write(b'aaa')
file.close()
file = open('text.txt')
print(file.read())
file.close()
python课程推荐。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。