为了账号安全,请及时绑定邮箱和手机立即绑定

python文件

标签:
Python

编码,常用的有ASCII,unicode,utf-8等

>>> st='东风冷雪'
>>> st
'东风冷雪'
>>> st1=st.encode("utf-8")
>>> st1
b'\xe4\xb8\x9c\xe9\xa3\x8e\xe5\x86\xb7\xe9\x9b\xaa'
>>> st1.decode("utf-8")
'东风冷雪'

文本文件 是基于字符编码的文件,常见的有ASCII,和Unicode编码等,其文件的内容就是字符。

二进制文件是基于值编码的文件,存储的是二进制数据,就是数据是按照其占用的字节数来存放的。

文件的打开与关闭
文件对象=open(filename,modern);
文件对象.close();

r只读方式打开;
w以写的方式打开,若文件存在,则覆盖原来的文件
a以写的方式打开,写入内容追加在文章末尾。

import os
os.chdir("D:\\")
f=open("test.txt",'rb+')
print(f.read().decode("utf-8"))
f.close()
hello 东风冷雪
life is short.
i use python

定位
通过open语句创建了一个文件对象,读写指针会定位在文件头部,即最左边开始的位置,然后从左到右循序访问。

seek(偏移值,起始位置)函数,可以实现文件随意读写。
起始位置:0文件开始,1当前文件指针,2 文件末尾

import os
os.chdir("E:\\")
f=open("test.txt",'w+')
print(f.read())
f.write(" 人生苦短,我用python")
f.seek(1)
print(f.read())
f.close()   
人生苦短,我用python

文件的读,取,追加。
f.read(size)
返回一个字符串,为size长度,如果省略,则是整个文本。

import os
f=open("E:\\test.txt",'r+')
str=f.read()
print("f={0},str={1}".format(f,str))
f=<_io.TextIOWrapper name='E:\\test.txt' mode='r+' encoding='cp936'>,str=好好学习,天天向上。
good good study。
day day up。
import os
f=open("E:\\test.txt",'r+')
str=f.read()
print(str)
str1=f.read()
print("str1=",str1)
f.seek(0)
str2=f.read(1)
print("str1=",str2)
f.close()
好好学习,天天向上。
good good study。
day day up。
str1= 
str1= 好

f.readline()方法 ,返回一个字符串,为当前的一行。换行符字符串末尾。 如果达到末尾则还回一个空字符串,如果是一个空行,返回'\n'

import os
f=open("E:\\test.txt",'r+')
str1=f.readline()
print("str1=",str1)
str2=f.readline()
print("str2=",str2)
f.close()
str1= 好好学习,天天向上。
str2= good good study。

利用: 如果达到末尾则还回一个空字符串,循环读取,文件内容。

import os
f=open("E:\\test.txt",'r+')
line=f.readline()
while  line !="":
    print(line)
    line=f.readline()
f.close()
好好学习,天天向上。
good good study。
day day up。

f.readlines()方法,返回一个列表,列表的每一个字符串元素对应文件的每行。

import os
f=open("E:\\test.txt",'r+')
lt=f.readlines()
print(lt)
print("-------------")
for fl in range(len(lt)):
    print(lt[fl])
f.close()   
['好好学习,天天向上。\n', 'good good study。\n', 'day day up。']
-------------
好好学习,天天向上。
good good study。
day day up。

将一个文件数据写入列表
list=list(open(filename))

>>> lt=list(open("E:\\test.txt",'r+'))
>>> lt
['好好学习,天天向上。\n', 'good good study。\n', 'day day up。']
>>> len(lt)
3

还有许多细节,省略了。

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消