file-object = open(file_name, access_mode = ' ', buffering = -1)
filename可以是相对路径或绝对路径,access_mode可以为r, w, a分别代表读,写,追加,U则表示通用换行符支持。r和U模式下,打开的文件必须存在,w模式下打开的文件若存在则首先被清空,然后重新写入。a则是追加到文件尾部。如果文件不存在,则自动创建。
buffering表示缓冲方法,0为不缓冲,1为缓冲一行,大于1则表示缓冲特定大小,不给定或-1时,则表示采用默认缓冲机制。
seek(offset)方法可以在文件中移动文件指针到不同的位置,offset字节代表相对某个位置的偏移量,默认为0,1表示从当前位置算起,2表示从文件末尾算起。tell()则可以显示指针在文件中的位置。
sys模块通过sys.argv属性提供了对命令行参数的访问,sys.argv[0]永远是程序的名称,len(sys.argv)是命令行参数的个数。
文件对象方法 |
操作 |
file.close( ) |
关闭文件 |
file.fileno( ) |
返回文件操作符(FD整型) |
file.flush( ) |
刷新文件内部缓冲区 |
file.isatty( ) |
判断file是否问一个类tty设备 |
file.next( ) |
返回文件下一行(类readline) |
file.read(size = -1) |
从文件读取size个字节,当未给定size或为负时,读取剩余所有字节,然后作为字符串返回 |
因此推荐使用with函数来打开文件
>>> with open('workfile', 'r') as f: ... read_data = f.read() >>> f.closed True
使用迭代器打开文件,十分快速和节省内存。
f = open(filename , 'r')
for eachline in f:
print eachline
f.close()