标签:文件 python self args xx mode kwargs 操作
用python操作文件
用word操作一个文件的流程:
1.找到文件,双击打开
2.读或修改
3.保存&关闭
用python操作文件
f = open(filename) #打开文件
f.write("我是翟里普") #写操作
f.read() #读操作
f.close() #保存并关闭
操作模式
-
r只读操作
-
w创建模式,若文件已存在,则覆盖旧文件
-
a追加文件,新数据会写到文件末尾
创建文件
f = open(file="D:/xx/xx.txt",mode='w')
f.write("Hello Zhai Li pu\n")
f.write("姑娘好\n")
f.close()
只读模式
f = open(file='xx.txt',mode='r')
print(f.readline()) #读一行
print('------分隔符------')
data = f.read() #读剩下的所有
print(data)
f.close()
追加模式
f = open(file='xx.txt',mode='a')
f.write("xxxx xxx xx x\n") #会追加到文件尾部
f.close()
循环文件
数据源:
马纤羽 深圳 173 50 13744234523
乔亦菲 广州 172 52 15823423525
罗梦竹 北京 175 49 18623423421
刘诺涵 北京 170 48 18623423765
岳妮妮 深圳 177 54 18835324553
贺婉萱 深圳 174 52 18933434452
叶梓萱 上海 171 49 18042432324
f = open(file='xx.txt',mode='r')
for line in f:
line = line.split()
name,addr,height,weight,phone = line
height = int(height)
weight = int(weight)
if height > 170 and weight <= 50:
print(line)
f.close()
其他功能
mode(self) 返回文件或打开的模式
name(self) 返回文件名
fileno(self, *args, **kwargs) 返回文件句柄在内核中的索引值,以后做IO多路复用时可以用到
flush(self, *args, **kwargs) 把文件从内存buffer里强制刷新到硬盘
readable(self, *args, **kwargs) 判断是否可读
readline(self, *args, **kwargs) 只读一行,遇到\r or \n为止
seek(self, *args, **kwargs) 把操作文件的光标移到指定位置
seekable(self, *args, **kwargs) 判断文件是否可进行seek操作
tell(self, *args, **kwargs) 返回当前文件操作光标位置
truncate(self, *args, **kwargs) 按指定长度截断文件
writable(self, *args, **kwargs) 判断文件是否可写
混合模式
w+ 写读 , 这个功能基本没什么意义,它会创建一个新文件 ,写一段内容,可以再把写的内容读出来,没什么卵用。
r+ 读写,能读能写,但都是写在文件最后,跟追加一样
a+ 追加读,文件 一打开时光标会在文件尾部,写的数据全会是追加的形式
以二进制模式操作文件
f = opne(file='xx.txt',mode='wb') #wb以2进制模式打开文件
s = "自学编程".encode('utf-8') #自行编码
print(s)
f.writw(s)
f.close()
2进制模式打开文件有
- wb二进制创建
- rb二进制读
- ab二进制追加
编码&解码
>>>s = "小猿圈"
>>>s.encode("utf-8") #编码
b'\xe5\xb0\x8f\xe7\x8c\xbf\xe5\x9c\x88'
>>>s_utf8 = s.encode("utf-8")
>>>s_utf8.decode("utf-8") #解码
'小猿圈'
标签:文件,python,self,args,xx,mode,kwargs,操作 来源: https://www.cnblogs.com/zhailipu/p/14404324.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。