程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

python学习-37 其他的文件处理方法

发布于2019-08-07 11:08     阅读(645)     评论(0)     点赞(1)     收藏(4)


f = open('test.txt','r+',encoding='utf-8')

f.flush()        # 刷新

f.readline()
print(f.tell())     # 说明光标位置在哪里 (\r\n 也算两个字节)
print('-------------------------------')

f.seek(3)                      # 在文件test.txt里第一行abc123,  3的位置
print(f.tell())
print(f.read())

f.truncate(10)                # 截取

运行结果:

7
-------------------------------
3
13
123

Process finished with exit code 0

 

 

seek 方法的补充

 

1.光标的移动

f = open('test.txt','rb')              # 以2进制的方式
print('目前光标的位置:',f.tell())
print('--------------------')

f.seek(10)
print(f.tell())
print('-------------')

f.seek(3)                               # 默认从文件开始计算光标位置
print(f.tell())
print(f.read())
print('-------------')

f.seek(10,1)                        #  相对路径,从上一步的光标位置开始计算10字节
print(f.tell())
print('--------------')

f.seek(-10,2)                # 从文件末尾位置开始计算10字节
print(f.tell())              # 光标在从前往后数的第40字节的位置
print(f.read())               # 读取现在光标的位置
print('-----------')

运行结果:

目前光标的位置: 0
--------------------
10
-------------
3
b'13\r\n123\r\n\xe4\xbd\xa0\xe5\xa5\xbd\r\nhello,word\r\nqwertyuiop46579813'
-------------
60
--------------
40
b'op46579813'
-----------

Process finished with exit code 0

 2.想要查看文件的最后一行

f = open('test.txt','rb')
for i in f:
    offs = -10
    while True:
        f.seek(offs,2)
        data = f.readlines()
        if len(data) >1:
            print('文件的最后一行是%s'%(data[-1].decode('utf-8')))
            break
        offs *= 2

运行结果:

文件的最后一行是2019/7/11/20:56     qwe456

Process finished with exit code 0

 



所属网站分类: 技术文章 > 博客

作者:天才也疯狂

链接:https://www.pythonheidong.com/blog/article/10189/84f6e0fff05af08029a8/

来源:python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

1 0
收藏该文
已收藏

评论内容:(最多支持255个字符)