12 python file对象常用函数(read(),readline(),next(),seek(),tell(),write(),writelines()等)

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

猜你喜欢

转载自blog.csdn.net/qq_42397914/article/details/81583830