博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python学习之老男孩python全栈第九期_day008知识点总结
阅读量:6446 次
发布时间:2019-06-23

本文共 2580 字,大约阅读时间需要 8 分钟。

'''

'如何打开一个文件
模特主妇护士老师.txt
1. 文件路径:f:\模特主妇护士老师.txt
2. 操作方式:只读:r ,rb ,只写: w, wb ,追加: a , ab,读写:r+ , r+b,写读 :w+ , w+b ......
3. 编码方式

以什么编码方式储存的文件,就以什么编码打开进行操作

'''

绝对路径: 从根目录开始

f = open('f:\模特主妇护士老师.txt', mode = 'r', encoding = 'utf-8')
content = f.read()
print(content)
f.close()

相对路径: 从当前目录开始

只读 r

bytes --> str

f = open('模特主妇护士老师.txt', mode = 'r', encoding = 'utf-8')
content = f.read()
print(content,type(content))
f.close()

f = open('模特主妇护士老师.txt', mode = 'rb')
content = f.read()
print(content)
f.close()

对于写 w ,没有此文件就会创建文件

f = open('log', mode = 'w', encoding = 'utf-8')

f.write('骑兵步兵')
f.close()

先将源文件的内容全部清除,再进行写操作

f = open('log', mode = 'w', encoding = 'utf-8')

f.write('回房间ask东方航空')
f.close()

f = open('log', mode = 'wb')

f.write('回房间ask东方航空'.encode('utf-8'))
f.close()

追加

f = open('log', mode = 'wb')

f.write('回房间ask东方航空'.encode('utf-8'))
f.close()

追加

f = open('log',mode = 'a', encoding = 'utf-8')

f.write('kidd')
f.close()

f = open('log',mode = 'a+', encoding = 'utf-8')

f.write('kidd')
f.seek(0) # + 可以用seek(),寻找光标
print(f.read())
f.close()

f = open('log',mode = 'ab')

f.write('KID'.encode('utf-8'))
f.close()

读写

f = open('log', mode = 'r+', encoding = 'utf-8')

print(f.read())
f.write('尹宁')
print(f.read())
f.close()

写读

r+ 模式下 进行写读,从头开始写

f = open('log', mode = 'r+', encoding = 'utf-8')

f.write('KID')
print(f.read())
f.close()

f = open('log', mode = 'r+', encoding = 'utf-8')

f.write('KIDDDDDDDD')
print(f.read())
f.close()

读写

# 后面加 b , 就不写encoding = ''了

f = open('log', mode = 'r+b')

print(f.read())
f.write('尹宁'.encode('utf-8'))
f.close()

写读 w+

f = open('log', mode = 'w+', encoding = 'utf-8')

f.write('KID')
f.seek(0)
print(f.read())
f.close()

功能详解

最常用的就是r+

read()、seek()、

f = open('log', mode = 'r+', encoding = 'utf-8')

# content = f.read(3) # 读出前三个字符(读出来的都是字符)
f.seek(3) #移动光标是按照字节定光标的位置,一个中文是三个字节,故只能是3 的倍数
print(f.tell()) # 告诉你光标的位置
# content = f.read()
# print(content)
f.close()

f = open('log',mode = 'a+', encoding = 'utf-8')

f.write('kidd')
content = f.tell()
f.seek(content - 3) # 中文是一个字符(三个字节),英文是三个字符(三个字节)
print(f.read())
f.close()

f = open('log', mode = 'r+', encoding = 'utf-8')

f.tell()
f.readable() #是否可读
line = f.readline() # 一行一行的读
line = f.readlines() # 每一行当成列表中的一个元素,添加到list中(for循环)
f.truncate(4)
print(l1)
for line in f:
print(line)
f.close()

with open('log', mode = 'r+', encoding = 'utf-8') as obj:

print(obj.read()) # close() 不用写,自动关闭

with open('log', mode = 'r+', encoding = 'utf-8') as f1,open('log', mode = 'r+', encoding = 'utf-8') as f2:

print(f1.read()) # 可以打开多个
print(f2.read())

转载于:https://www.cnblogs.com/BlameKidd/p/9280955.html

你可能感兴趣的文章
Intel 82599网卡异常挂死原因
查看>>
open-falcon
查看>>
周会会议2018.4.20
查看>>
二叉树的建立与遍历
查看>>
ubuntu 配置tomcat 实测成功
查看>>
【虚树】hdu6161 Big binary tree
查看>>
【set】【multiset】Codeforces Round #484 (Div. 2) D. Shark
查看>>
虎哥手把手教你接私活和报价(附送详细报价单)- 转
查看>>
表单的理解
查看>>
查询及删除数据重复记录的方法
查看>>
maven archetype:generate 的进一步理解
查看>>
ubuntu截图工具
查看>>
新博客
查看>>
遗传算法的基本原理与方法--笔记<转>
查看>>
网络对抗技术作业
查看>>
【php设计模式】门面模式
查看>>
【CodeForces】960 F. Pathwalks 主席树+动态规划
查看>>
count(1)与count(*)
查看>>
冲刺博客汇总
查看>>
jQuery点击缩略图切换大图代码
查看>>