文件处理

Posted zhangcaiwang1

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了文件处理相关的知识,希望对你有一定的参考价值。

#################文件处理################
# r ,只读模式【默认模式,文件必须存在,不存在则抛出异常】
# w,只写模式【不可读;不存在则创建;存在则清空内容】
# a, 之追加写模式【不可读;不存在则创建;存在则只追加内容】
#2. 对于非文本文件,我们只能使用b模式,"b"表示以字节的方式操作(而所有文件也都是以字节的形式存储的,使用这种模式无需考虑文本文件的字符编码、图片文件的jgp格式、视频文件的avi格式)
# rb
# wb
# ab
#读
#f.read() #读出文件的所有内容
# f.readline() #一次读一行
# f.readlines() #读出文件所有的行存在列表中

#写
# f.write(‘1111 22222 ‘) #多行写入
# f.writelines([‘1111 ‘,‘22222 ‘]) #以列表方式写入


############r模式#####################
#手段关闭文件
# f=open(r‘C:UsersxxxDesktopPython11.txt‘,encoding=‘utf-8‘) #默认打开模式就为r
# data=f.read()
# print(data)
# f.close()

#with 打开文件 自己关闭
# with open(r‘C:UsersxxxDesktopPython11.txt‘,mode=‘r‘) as f:
# print(f.read())

#打开多个文件
# with open(r‘C:UsersxxxDesktopPython11.txt‘,mode=‘r‘) as f1,open(r‘C:UsersxxxDesktopPython12.txt‘,mode=‘r‘) as f2:
# print(f1.read())
# print(f2.read())

#追加多行写入
# with open(r‘C:UsersxxxDesktopPython11.txt‘,‘a‘,encoding=‘utf-8‘) as f:
# f.writelines([‘{"x:1} ‘,‘{"y":1} ‘])

#逐行读取
# f=open(r‘C:UsersxxxDesktopPython11.txt‘,mode=‘r‘,encoding=‘utf-8‘)
# print(f.readline(),end=‘‘) #读取第一行内容
# print(f.readline(),end=‘‘) #读取第二行内容
# f.close()

#读写整个文件的内容 以行切分
# f=open(r‘C:UsersxxxDesktopPython11.txt‘,mode=‘r‘,encoding=‘utf-8‘)
# print(f.readlines())
# f.close()

#打印文件的全部内容
# with open(r‘C:UsersxxxDesktopPython11.txt‘,encoding=‘utf-8‘) as f:
# for line in f:
# print(line,end=‘‘)
# for line in f.readlines():
# print(line,end=‘‘)

#w:只写模式
#1.当文件存在时 清空
#2.当文件不存在时,创建空文档
# f=open(r‘C:UsersxxxDesktopPython1ab.txt‘,mode=‘w‘,encoding=‘utf-8‘) #默认wt模式
# f.write(‘第一行 ‘)
# f.write(‘第二行 ‘) #wite 逐行写入
# f.write(‘aaaaaa bbbbbbb cccc ‘) #写入多行
# f.writelines([‘1111 ‘,‘22222 ‘,‘3333 ‘]) #以列表写入多行
# f.close()


#a:追加写入模式
#1.在文件不存在时 创建文件
#2.在文件存在时 光标直接跑到文件某尾

# f=open(r‘C:UsersxxxDesktopPython1access.log‘,mode=‘a‘,encoding=‘utf-8‘)
# print(f.writable()) #判断文件是否可读
# f.write(‘555555555555555 ‘)
# f.close()

#文件打开模式b模式
#1.与t模式类似不能单独使用 必须是rb wb ab
#2.b模式下读写都是以bytes单位的
#3.b模式下一定不能指定encoding参数

#读取图片文件
# with open(‘C:UsersxxxPicturesCamera Roll123.GIF‘,mode=‘rb‘) as f: #以二进制处理文件
# data=f.read()
# print(data)
# print(type(data))

#rb模式
# with open(r‘C:UsersxxxDesktopPython1ab.txt‘,mode=‘rb‘) as f:
# data=f.read()
# # print(data) # bytes
# print(data.decode(‘utf-8‘)) #bytes--unicode
# print(type(data))


#wb模式
# with open(r‘C:UsersxxxDesktopPython1ab.txt‘,mode=‘wb‘) as f:
# msg=‘你好啊,我是miss zhang‘
# f.write(msg.encoding(‘utf-8‘)) #以什么字符编码写入 以什么读出

#rb模式
# with open(r‘C:UsersxxxDesktopPython1ab.txt‘,mode=‘rb‘) as f:
# data=f.read()
# print(type(data))
# print(data.decode(‘utf-8‘))
# print(data)


#ab模式
# with open(r‘C:UsersxxxDesktopPython1ab.txt‘,mode=‘ab‘) as f:
# f.write(‘你好‘.encode(‘utf-8‘))


#r+t 可读 可写
# with open(r‘C:UsersxxxDesktopPython1ab.txt‘,mode=‘r+t‘,encoding=‘utf-8‘) as f:
# print(f.readable()) # 判断是否可读 为tu
# print(f.writable()) # 判断是否可写 true
# print(f.readline()) #逐行读
# f.write(‘ 吴大炮你也好 ‘)


#r+ 模式 光标定在开始
# import time
# with open(r‘C:UsersxxxDesktopPython1ab.txt‘,‘r+‘,encoding=‘utf-8‘) as f:
# f.seek(0,2)
# while True:
# line=f.readline()
# if line:
# print(line.decode(‘utf-8‘))
# else:
# time.sleep(0.2)

#按光标插入内容
# with open(r‘C:UsersxxxDesktopPython1ab.txt‘,‘r+‘,encoding=‘utf-8‘) as f:
# f.seek(9) #光标移动三个位置 偏移量单位是字节 一个中午三字节
# f.write(‘[最第二帅的人]‘)



























以上是关于文件处理的主要内容,如果未能解决你的问题,请参考以下文章

如何使用批处理文件一次打开两个文件

批处理文件注册OCX

Python文件处理注意事项总结

Qt文件处理

求批处理文件,处理hosts中的某行IP地址

C# (批处理) 过期的文件删除