Python基础-03

文件操作

1、  基本操作流程 
(1)       创建文件对象 
(2)       调用文件方法进行操作 
(3)       关闭文件
例程
f=open('小重山','r',encoding='utf8')#打开同一目录文件,设置文件读模式使用编码格式 utf-8
print(f.read())#打印文件内容  fileno() 方法返回一个整型的文件描述符
# 注意:if not close,数据会缓存,而不是磁盘!
time.sleep(30)
f.close()
 

注:打开文件的模式有:

·        r,只读模式(默认)。

·        w,只写模式。【不可读;不存在则创建;存在则删除内容;】

·        a,追加模式。【可读;  不存在则创建;存在则只追加内容;】

"+" 表示可以同时读写某个文件

·        r+,可读写文件。【可读;可写;可追加】

·        w+,写读

·        a+,同a

"U"表示在读取时,可以将 \r \n \r\n自动转换成 \n(与 r r+ 模式同使用)

·        rU

·        r+U

"b"表示处理二进制文件(如:FTP发送上传ISO镜像文件,linux可忽略,windows处理二进制文件时需标注)

·        rb

·        wb

·        ab

 

 

2、 文件具体操作方法

#打印一行
# f=open('小重山','a',encoding='utf8')

# print(f.read(5))
# print(f.read(5))# 注意 :汉字在这里占一个单位(in Py3# a=f.readline()
# print(a)

# print(f.readline())
# print(f.readline())#无论是read()还是readline(),光标会发生位置变化


#打印多行
# print(f.readlines())

# for i in f.readlines():
#     print(i)
#
# f.close()

# data = f.readlines()

# f.close()
#这是最好的
# number=0
# for i in data:
#     number+=1
#     if number==6:
#         # print(i.strip(),'ikeit')#strip()移除字符串头尾指定的字符(默认为空格)
#         # i=i.strip()+'ikeit'
#         i=''.join([i.strip(),'iii'])#取代万恶的+ 移除字符串头尾指定的字符
#     print(i.strip())
##########对于大数据文件,要用以下方式(the best way):
# number = 0
# for i in f:
#     number+=1
#     if number == 6:#到第六行后面添加'iiiii'
#         i = ''.join([i.strip(),'iiiii'])#取代万恶的+
#         # print(i.strip())#打印当前行(第六行)
#     print(i.strip())#打印整行

# print(f.tell())#取出光标位置
# print(f.read(2))
# print(f.tell())

# f.seek(0)#移动光标到指定位置
# print(f.read(4))

# flush()#同步  将数据从缓存转移到磁盘上去
#进度条实例
# import sys,time
# for i in range(30):
#     sys.stdout.write("*")
#     sys.stdout.flush()
#     time.sleep(0.1)#0.1秒刷新一次

#printflush
# import sys,time
# for i in range(30):
#     print('*',end='',flush=True)
#     time.sleep(0.1)
# f=open('小重山','r',encoding='utf8')

#truncate():截断数据(不能在r模式下)
#w模式下:先清空,再写,在截断
#a的模式下:直接将指定位置后的内容截断
# f=open('小重山','a',encoding='utf8')
# f.truncate(5)
# f.write('hello world')
# f.truncate(5)
# f.close()

##### r+, w+, a+

# r+:光标默认在0位置,最后位置开始写
# w+:先清空,再写读
# a+:光标默认在最后位置

# f=open('小重山','r+',encoding='utf8')
# print(f.tell())
# print(f.readline())
# f.write('岳飞')
# print(f.tell())
# f.seek(0)
# print(f.readline())
# f.close()

# f=open('小重山','r+',encoding='utf8')


#终极问题
# number=0
# for line in f:
#     number+=1
#     if number==3:
#         f.write('alex')

# f_read=open('小重山','r',encoding='utf8')
# f_write = open('小重山2','a+',encoding='utf8')
#
# number=0
# for line in f_read:
#     number+=1
#     if number==5:
#         line=''.join([line.strip(),'alex\n'])
#         # line='hello 岳飞'
#     f_write.write(line)
#
# f_write.close()
# f_read.close()

# a=str({'beijing':{'1':111}})
# print(type(a))
# print(a)
# a=eval(a)
# print(type(a))
# print(a['beijing'])

# f=open('log','r')
# f.readline()
# f.read()
# f.close()
# 
# with open('log','r') as f:
#     f.readline()
#     f.read()
# print('hello')
# 
# # with  同时管理多个文件对象
# with open('log1','r') as f_read,open('log2','w') as f_write:
#     for line in f_read:
#         f_write.write(line)

 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值