python 对文件的操作

 

  对文件的操作:

    1、首先打开文件,打开文件需要指定打开模式(打开模式包含:r、w、a、r+、w+、a+、rb、wb、ab、rb+、wb+、ab+)、字符集;

    2、对文件写、读文件、打印光标位置、变化光标位置;

    3、对文件的刷新,写到磁盘中;

模式说明:

模式描述
r 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
rb 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。
r+ 打开一个文件用于读写。文件指针将会放在文件的开头。
rb+ 以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。
w 打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
wb 以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
w+ 打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
wb+ 以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
a 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
ab 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
a+ 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
ab+ 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。

 

文件操作示例:

  

#author FK

import sys,time
#使用w模式,会覆盖原来的文件,从头开始写
f=open("test.txt",'w',encoding="utf-8")
f.write("我是一只小小小鸟!!!\n")
f.write("我想飞的更高更高。\n")
f.close()

#使用r模式,只能读不能修改
f1=open("test.txt","r",encoding="utf-8")
print(f1.read())
f1.close()

#使用a+,可能追加及可读,注意都追加在文件尾追加
f2=open("test.txt","a+",encoding="utf-8")
#写读,先创建文件,再写再读
#f2=open("test.txt","w+",encoding="utf-8").
#读写,先打开文件,先可读再写
#f2=open("test.txt","r+",encoding="utf-8")
#以二进制格式读文件
#f2=open("test.txt","rb")

f2.write("this is the appending text1\n")
f2.write("this is the appending text2\n")

#打印操作系统中打印文件的个数
print("print open files number:",f2.fileno())

#打印文件中的光标的位置
print("before seek method ,print the f2.tell method:",f2.tell())
#将光标移动到0位置,从头开始读
f2.seek(0)
print("after seek method ,print the f2.tell method:",f2.tell())

#逐行读文件
line_count = 0
for f22 in f2:
if line_count == 0:
line_count +=1
continue;
print(f22,end='')
line_count +=1

#截断,从指定位置开始截断,不管从光标在什么位置,都是从头计算开始截断
f2.seek(300)

f2.truncate(30)
#打印进度条
print("\n打印进度条测试:")
for i in range(5):
sys.stdout.write("#")
time.sleep(1)
#flush
sys.stdout.flush()

#关闭文件
f2.close()
posted @ 2017-11-13 18:23  深海000111  阅读(214)  评论(0编辑  收藏  举报