python中文件的函数 python文件处理( 三 )


例如:
with open('test.txt','r',encoding='utf-8') as file:
#utf-8汉字与英文字符都占一个字符
string='' #设置一个空字符串
pointer=0 #当前指针为0
str1=file.read(6) #读取6个字符
pointer+=6 #指针变量后移6个字符
string+=str1 #string用来存放已读取的字符
print('取6个字符: ',str1)
file.seek(pointer) #指针从文件头开始移动2个字符
str1=file.read(8) #从当前位置读取10个字符
pointer+=8 #指针跳过已读取的字符
string+=str1
print('再取8个字符: ',str1)
print('所有读取的字符: ',string)
print('当前指针所处的位置: ',pointer)
str1=file.read(1)
print('当前指针所处的字符: ',str1)
运行结果如下:
取6个字符:
Python
再取8个字符:
是一种解释型语言
所有读取的字符:
Python是一种解释型语言
当前指针所处的位置:
14
当前指针所处的字符:

3、读取一行数据readline()方法
语法格式:
file.readline()
例:
with open('test.txt','r',encoding='utf-8') as f:
string=f.read(1) # 读取文件的第一个字符
if string != '': # 防止文件为空文件
lineno=0
while True:
line=f.readline()
if line != '':
lineno+=1
print('第'+str(lineno)+'行:'+line,end='')
# 因为每行都有自带的分行符,print()语句不允许换行
else:
break # 出现空行时停止读取
else:
print('要读取的文件为空文件!')
运行结果:
第1行:ython是一种解释型语言: 这意味着开发过程中没有了编译这个环节 。类似于PHP和Perl语言 。
第2行:Python是交互式语言: 这意味着 , 您可以在一个 Python 提示符后直接执行代码 。
第3行:Python是面向对象语言: 这意味着Python支持面向对象的风格或代码封装在对象的编程技术 。
第4行:Python是初学者的语言:Python 对初级程序员而言,是一种伟大的语言,它支持广泛的应用程序开发 。
4、读取全部行命令readlines()方法
语法格式:
File.readlines()
该方法与read()方法一样 , 在调用read()方法读取文件内容时,文件必须是以r(只读)或者r+(读写)方式打开 。
例:
with open('test.txt','r',encoding='utf-8') as f:
txt=f.readlines()
print(txt)
运行结果:
['Python是一种解释型语言: 这意味着开发过程中没有了编译这个环节 。类似于PHP和Perl语言 。', 'Python是交互式语言: 这意味着,您可以在一个 Python 提示符后直接执行代码 。', 'Python是面向对象语言: 这意味着Python支持面向对象的风格或代码封装在对象的编程技术 。', 'Python是初学者的语言:Python 对初级程序员而言 , 是一种伟大的语言,它支持广泛的应用程序开发 。']
从上面的运行结果可以看出,readlines()方法的返回值为一个字符串列表 。所以,也可以以读取列表元素的方法输出 。如下所示:
with open('test.txt','r',encoding='utf-8') as f:
txt=f.readlines()
for line in txt:
print(line,end='')
运行结果:
Python是一种解释型语言: 这意味着开发过程中没有了编译这个环节 。类似于PHP和Perl语言 。
Python是交互式语言: 这意味着,您可以在一个 Python 提示符后直接执行代码 。
Python是面向对象语言: 这意味着Python支持面向对象的风格或代码封装在对象的编程技术 。
Python是初学者的语言:Python 对初级程序员而言,是一种伟大的语言,它支持广泛的应用程序开发 。

推荐阅读