码迷,mamicode.com
首页 > 编程语言 > 详细

python 文件操作

时间:2018-09-03 22:27:41      阅读:237      评论:0      收藏:0      [点我收藏+]

标签:enc   就是   光标位置   run   文件内容   解码   模式   print   read   

文件操作

文件操作的其他模式

1 with open("文件名路径","r或w或a",encoding = "utf-8") as v #这里as表示赋值给v  如果一行过长在合适的位置加\回车,encoding表示编码
2 v = open("文件名路径","r或w或a",encoding = "utf-8")  打开文件,用utf-8格式编码 赋值给v
3 x = v.read()  读取全部文件内容并赋值给x
4 print(x)
5 v.close()   关闭文件

文件打开模式

 1 r  只读
 2 v.read()     读取全部文件
 3 v.readable() 查询文件是否可读
 4 v.readline() 读取一行数据 如果在read后会显示为空
 5 v.readlines() 把文件所有内容读取出来放进列表里
 6 
 7 r+ 可读可写 从第一行开始写覆盖 
 8 w+ 写读
 9 a+ 追加写读
10 a  追加的方式写在文件最后
11 w  可写  写文件内容必须是字符串
12 v.writable()   文件是否可写
13 v.writc("内容\n")  写文件
14 v.writelines([文件内容\n]) 用列表的形式写进去
15 
16 b 表示以二进制的方式操作文件 b不能指定编码
17 rb 以二进制的方式读文件 
18 v = open("文件路径","rb")
19 x = v.read()
20 print(x) 以二进制的形式输出
21 print(x.decode("utf-8")) 以字符串的形式输出 decode()解码 ()中写解码格式
22 
23 wb 以二进制的方式写文件
24 v.write(bytes("内容\n",encoding="utf-8"))或者v.write("内容".encode("utf-8"))
25 
26 ab 以二进制的方式写到最后一行
27 v.write("内容".encode("utf-8"))

文件操作的其他方法
只要不是read()的方法 其余的方法在处理文件光标都是按照字节处理的,read处理的是字符

 1 v.closed  查询文件是否关闭
 2 
 3 v.encoding 查看文件打开的编码
 4 
 5 v.flush() 刷新
 6 
 7 v.tell  查看当前光标位置
 8 
 9 v.seek(0,0或1或2)  控制光标位置 括号里表示字节 
10 0或1或2 
11 0表示从文件开头开始 默认就是0
12 1表示从当前光标的位置开始  但是必须以b的形式操作文件
13 2表示把文件倒着读 但是位置需要写成负数 (-10,2) 同必须以b的形式操作文件
14 
15 v.read()   控制光标位置 括号里表示字符
16 
17 v.truncate() 需要进入r+或a+操作 截取 括号里表示字节
18 
19 如果要读取文件的最后一行
20 v = open("文件路径","rb")
21 for i in v:
22    offe = -10  #定义一个偏移量
23    while True:
24           v.seek(offe,2)
25           data = v.readlines()
26         if len(data) > 1:
27           print("文件的最后一行是%s" %(data[-1].decode("utf-8")))
28           break
29         offe *= 2

 

python 文件操作

标签:enc   就是   光标位置   run   文件内容   解码   模式   print   read   

原文地址:https://www.cnblogs.com/xyx2018/p/9581443.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!