文件操作:
1. 创建空文件
os.mknod('test.txt')
fp = open("test.txt",w) 直接打开一个文件,如果文件不存在则创建文件
w 以写方式打开,
a 以追加模式打开 (从 EOF 开始, 必要时创建新文件)
r+ 以读写模式打开
w+ 以读写模式打开 (参见 w )
a+ 以读写模式打开 (参见 a )
rb 以二进制读模式打开
wb 以二进制写模式打开 (参见 w )
ab 以二进制追加模式打开 (参见 a )
rb+ 以二进制读写模式打开 (参见 r+ )
wb+ 以二进制读写模式打开 (参见 w+ )
ab+ 以二进制读写模式打开 (参见 a+ )
-------------------------------------------------------------------------------------
fp.read([size]) #size为读取的长度,以byte为单位
fp.readline([size]) #读一行,如果定义了size,有可能返回的只是一行的一部分
fp.readlines([size]) #把文件每一行作为一个list的一个成员,并返回这个list。其实它的内部是通过循环调用readline()来实现的。如果提供size参数,size是表示读取内容的总长,也就是说可能只读到文件的一部分。
fp.write(str) #把str写到文件中,write()并不会在str后加上一个换行符
fp.writelines(seq) #把seq的内容全部写到文件中(多行一次性写入)。这个函数也只是忠实地写入,不会在每行后面加上任何东西。
fp.close() #关闭文件。python会在一个文件不用后自动关闭文件,不过这一功能没有保证,最好还是养成自己关闭的习惯。 如果一个文件在关闭后还对其进行操作会产生ValueError
fp.flush() #把缓冲区的内容写入硬盘
---------------------------------------------------------------------------------------------
eg: # 写文件
fp = open('F:\\test.txt','a+')
fp.write('hello world')
fp.flush()
fp.close()
eg: #读文件
fp = open('F:\\test.txt','a+')
for line in fp.readlines():
print line
fp.close()
eg: 把文件A里面的内容复制到文件B里面
fp = open('F:\\test.txt','r')
fp1 = open('F:\\test_bak.txt','a')
for line in fp.readlines():
fp1.write(line)
fp1.flush()
fp.close()
fp1.close()
----------------------------------------------------------------------------------------------
比较两个文件内容是否一致:
fp = open('test.txt','r')
contents1 = fp.read()
fp.close()
fp = open('test1.txt','r')
contents2 = fp.read()
fp.close()
result = cmp(contents1, contents2)
if result == 0:
print 'the contents of two files are the same'
else:
print 'the contents of two files are different'