python file对象常用函数,用open来打开文件。
序号 | 函数 | 说明 |
---|---|---|
1 | file.close() | 关闭文件。关闭后文件不能再进行读写操作。 |
2 | file.flush() | 刷新文件内部缓冲,直接把内部缓冲区的数据立刻写入文件, 而不是被动的等待输出缓冲区写入。 |
3 | file.fileno() | 返回一个整型的文件描述符(file descriptor FD 整型), 可以用在如os模块的read方法等一些底层操作上。 |
4 | file.isatty() | 如果文件连接到一个终端设备返回 True,否则返回 False。 |
5 | file.next() | 返回文件下一行。 |
6 | file.read([size]) | 从文件读取指定的字节数,如果未给定或为负则读取所有。 |
7 | file.readline([size]) | 读取整行,包括 “\n” 字符。 |
8 | file.readlines([sizeint]) | 读取所有行并返回列表,若给定sizeint>0,返回总和大约为sizeint字节的行, 实际读取值可能比 sizeint 较大, 因为需要填充缓冲区。 |
9 | file.seek(offset[, whence]) | 设置文件当前位置 |
10 | file.tell() | 返回文件当前位置。 |
11 | file.truncate([size]) | 从文件的首行首字符开始截断,截断文件为 size 个字符,无 size 表示从当前位置截断;截断之后后面的所有字符被删除,其中 Widnows 系统下的换行代表2个字符大小。 |
12 | file.write(str) | 将字符串写入文件,返回的是写入的字符长度。 |
13 | file.writelines(sequence) | 向文件写入一个序列字符串列表,如果需要换行则要自己加入每行的换行符。 |
1.f.close()
f = open('F:\\123.txt','wb')
print('文件已打开file name:',f.name)
f.close()
输出:
文件已打开file name: F:\123.txt
2、f.flush()
3.f.fileno()
f = open('F:\\123.txt','wb')
print('file name:',f.name)
#fileno() 方法返回一个整型的文件描述符(file descriptor FD 整型)
#可用于底层操作系统的 I/O 操作。
fid = f.fileno()
print('filed description:',fid)
f.close()
输出:
file name: F:\123.txt
filed description: 3
4、f.isatty()
f = open('F:\\123.txt','wb')
print('文件已打开file name:',f.name)
print(f.isatty())
输出
false
5、f.next()
f = open('F:\\123.txt','r')
print('文件已打开file name:',f.name)
for i in range(5):
line = next(f)
print('这是第%d行:%s'%(i,line))
f.close()
输出:
文件已打开file name: F:\123.txt
这是第0行:1
这是第1行:2
这是第2行:3
这是第3行:4
这是第4行:5
6、f.read()
f = open('F:\\123.txt','r+')
print('文件已打开file name:',f.name)
line = f.read(5)
print('读取的字符串:',line)
f.close()
输出:
文件已打开file name: F:\123.txt
读取的字符串: 第1行
第
7、f.readline()
f = open('F:\\123.txt','r+')
print('文件已打开file name:',f.name)
line = f.readline()
print('读取整行:',line)
f.close()
输出:
文件已打开file name: F:\123.txt
读取整行: 第1行
8、f.readlines()
f = open('F:\\123.txt','r+')
print('文件已打开file name:',f.name)
lines = f.readlines()
for i in lines:
print('读取数据为:',i)
f.close()
输出:
文件已打开file name: F:\123.txt
读取数据为: 第1行
读取数据为: 第2行
读取数据为: 第3行
读取数据为: 第4行
读取数据为: 第5行
9、f.seek()
f = open('F:\\123.txt','r+')
print('文件已打开file name:',f.name)
line = f.readline()
print('读取数据为:',line)
f.seek(0,0)
print('读取数据为:',line)
f.close()
输出:
文件已打开file name: F:\123.txt
读取数据为: 第1行
读取数据为: 第1行
10、f.tell()
f = open('F:\\123.txt','r+')
print('文件已打开file name:',f.name)
line = f.readline()
print('读取数据为:',line)
fp=f.tell()
print('当前位置为:',fp)
f.close()
输出:
文件已打开file name: F:\123.txt
读取数据为: 第1行
当前位置为: 7
11、f.truncate()
f = open('F:\\123.txt','r+')
print('文件已打开file name:',f.name)
f.truncate(10)
line = f.read()
print('读取数据为:',line)
f.close()
输出:
文件已打开file name: F:\123.txt
读取数据为: 第1行
第2
12、f.write()
f = open('F:\\123.txt','r+')
print('文件已打开file name:',f.name)
f.seek(0,2)
str1 = "hello python"
line = f.write( str1 )
f.seek(0,0)
line = f.read()
print('读取数据为:',line)
f.close()
输出:
文件已打开file name: F:\123.txt
读取数据为: 第1行
第2行
第3行hello python
13、f.writelines()
f = open('F:\\123.txt','r+')
print('文件已打开file name:',f.name)
f.seek(0,2)
seq = ["hello python",'你好 python']
line = f.writelines( seq )
f.seek(0,0)
line = f.read()
print('读取数据为:',line)
f.close()
输出:
文件已打开file name: F:\123.txt
读取数据为: 第1行
第2行
第3行hello python你好 python