Python File(文件) 方法

file 对象使用 open 函数来创建,下表列出了 file 对象常用的函数:

序号方法及描述
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([sizehint])

读取所有行并返回列表,若给定sizeint>0,则是设置一次读多少字节,这是为了减轻读取压力。

9

file.seek(offset[, whence])

设置文件当前位置

10

file.tell()

返回文件当前位置。

11

file.truncate([size])

截取文件,截取的字节通过size指定,默认为当前文件位置。

12

file.write(str)

将字符串写入文件,没有返回值。

13

file.writelines(sequence)

向文件写入一个序列字符串列表,如果需要换行则要自己加入每行的换行符。

 

在 write 内容后,直接 read 文件输出会为空,是因为指针已经在内容末尾。

两种解决方式: 其一,先 close 文件,open 后再读取,其二,可以设置指针回到文件最初后再 read

 1 # -*- coding: UTF-8 -*-
 2 
 3 import os;
 4 
 5 document = open("testfile.txt", "w+");
 6 print "文件名: ", document.name;
 7 document.write("这是我创建的第一个测试文件!\nwelcome!");
 8 print document.tell();
 9 #输出当前指针位置
10 document.seek(os.SEEK_SET);
11 #设置指针回到文件最初
12 context = document.read();
13 print context;
14 document.close();

为了保证无论是否出错都能正确地关闭文件,我们可以使用 try ... finally 来实现:

try:
    f = open('/path/to/file', 'r')
    print f.read()
finally:
    if f:
        f.close()

但是每次都这么写实在太繁琐,所以,Python 引入了 with 语句来自动帮我们调用 close() 方法:

with open('/path/to/file', 'r') as f:
    print f.read()

这和前面的 try ... finally 是一样的,但是代码更佳简洁,并且不必调用 f.close() 方法

posted @ 2018-04-18 14:17  AlexJi  阅读(88)  评论(0)    收藏  举报