13 文件操作
Posted bydzxzy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了13 文件操作相关的知识,希望对你有一定的参考价值。
#读取当前路径下的文件
f = open(‘模特主妇护士班主任.txt‘,mode = ‘r‘,encoding=‘utf-8‘) content = f.read() print(content) f.close()
# 路径下的文件
f = open(‘g:MyPython模特主妇护士班主任.txt‘,mode = ‘r‘,encoding=‘utf-8‘) content = f.read() print(content,type(content)) #我们是中国人民解放军 <class ‘str‘> f.close()
f = open(‘g:MyPython模特主妇护士班主任.txt‘,mode = ‘rb‘) content = f.read() print(content) #b‘xe6x88x91xe4xbbxacxe6x98xafxe4xb8xadxe5x9bxbdxe4xbaxbaxe6xb0x91xe8xa7xa3xe6x94xbexe5x86x9b‘ f.close()
# 文件写入 (只写)对于W ,没有此文件就创建,如果有就覆盖
f = open(‘log‘,mode = ‘w‘,encoding=‘utf-8‘) f.write(‘我们是12骑兵‘) f.close()
f = open(‘log1‘,mode = ‘wb‘) f.write(‘我们是12骑兵‘.encode(‘utf-8‘)) f.close()
f = open(‘log1‘,mode = ‘wb‘) f.write(‘我们是12骑兵‘.encode(‘gbk‘)) f.close()
# 追加
f = open(‘log‘,mode = ‘a‘,encoding=‘utf-8‘) f.write(‘在后面加‘) f.close()
f = open(‘log‘,mode = ‘ab‘) f.write(‘新地‘.encode(‘utf-8‘)) f.close()
# 读写文件 最常用的是 r+
f = open(‘log‘,mode = ‘r+‘,encoding=‘utf-8‘) print(f.read()) #我们是中国人民解放军 f.write(‘中主的耻地是地‘) #我们是12骑兵在后面加新地中主的耻地是地 f.close()
f = open(‘log‘,mode = ‘r+‘,encoding=‘utf-8‘) #不要先写后读 f.write(‘asddes‘) print(f.read()) f.close()
f = open(‘log‘,mode = ‘r+b‘) #以bytes读写 print(f.read()) f.write(‘中主的耻地是地‘.encode(‘utf-8‘)) f.close()
# 文件写入 (只写),没有此文件就创建,如果有就覆盖
f = open(‘log2‘,mode = ‘w+‘,encoding=‘utf-8‘) f.write(‘我们是12骑兵‘) f.seek(0) #指向位置的光标 print(f.read()) #我们是12骑兵 f.close()
f = open(‘log‘,mode = ‘a+‘,encoding=‘utf-8‘) f.write(‘在后面加‘) f.seek(0) #指向位置的光标 print(f.read()) f.close()
# 下面都以 r+ 为例,功能讲解 如果是中文,seek是按字节指定,不可以半个汉字
f = open(‘模特主妇护士班主任.txt‘,mode = ‘r+‘,encoding=‘utf-8‘) #asdfkvngifftr content = f.read(3) #读取个数 read是按字符指定 print(content) #asd f.seek(3) #指针指向 3 print(f.tell()) #当前光标位置 3 print(f.read()) #fkvngifftr f.close()
f = open(‘log‘,mode = ‘a+‘,encoding=‘utf-8‘) #asddes是12 f.write(‘在后面加‘) #asddes是12在后面加 count = f.tell() #当前光标位置 f.seek(count-6) #指向位置的光标 print(f.read(1)) #读一个字 面 f.close()
f = open(‘log‘,mode = ‘a+‘,encoding=‘utf-8‘) #asddes是12 #早顺呃顷欠 f.seek(0) line = f.readline() #读一行 #asddes是12 print(line) f.seek(f.tell()) #文件光标指向前一个结束光标 line = f.readline() #读一行 #asddes是12 print(line) f.seek(0) line = f.readlines() #每一行当成列表中的一个元素 print(line) #[‘asddes是12 ‘, ‘早顺呃顷欠‘] f.seek(0) for line in f: #循环打印文件中的内容 (如果文件大不可以这样读) print(line) #asddes是12 #早顺呃顷欠 f.close()
#with 不用关闭语句
with open(‘log‘,mode = ‘r+‘,encoding=‘utf-8‘) as obj: #with 不用关闭语句 print(obj.read())
with open(‘log‘,mode = ‘r+‘,encoding=‘utf-8‘) as f, open(‘log‘,mode = ‘w+‘,encoding=‘utf-8‘) as f1: print(f.read())
以上是关于13 文件操作的主要内容,如果未能解决你的问题,请参考以下文章