ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

python文件操作seek()偏移量,读取指正到指定位置操作

2020-09-19 22:50:57  阅读:262  来源: 互联网

标签:python Article 偏移量 session limit offset article seek order


python 文件操作seek() 和 telll() 自我解释

file.seek()方法格式: seek(offset,whence=0) 移动文件读取指针到制定位置

offset:开始的偏移量,也就是代表需要移动偏移的字节数。

whence: 给offset参数一个定义,表示要从哪个位置开始偏移;0代表从文件开头算起,1代表开始从当前位置开始算起,2代表从文件末尾开始算起。当有换行时,会被换行截断。  seek()无返回值,故值为None

tell() : 文科文件的当前位置,即tell是获取文件指针位置。

readline(n):读入若干行,n代表读入的最长字节数。

readlines() :读入所有行的内容

read读入所有行的内容

tell() : 返回文件读取指针的位置

补充知识:python中limit()和offset()的用法

limit()限制结果集每次值查询几条数据 offset()可以限制查找对象数据的时候过滤掉多少条切片,可以对Query对象使用切片操作,来获取想要的数据,可以使用 select(start,stop)方法来求片操作,也可以使用'[start:stop]的方式来进行切片操作,

在实际开发中,中括号形式的是用处较多的,希望大家掌握

#encoding: utf-8 from sqlalchemy import create_engine,Column,Integer,String,Float,func,and_,or_,\ DateTimefrom sqlalchemy.ext.declarative import declarative_basefrom sqlalchemy.orm import sessionmakerfrom random import randintfrom datetime import datetime HOSTNAME = '127.0.0.1'PORT = 3306DATABASE = 'first_sqlalchemy'USERNAME = 'root'PASSWORD = '123456' #dialect+driver://username:password@host:port/databaseDB_URI = "mysql+pymysql://{username}:{password}@{host}:{port}/" \ "{db}?charset=utf8".format(username=USERNAME,password=PASSWORD,host=HOSTNAME,port=PORT,db=DATABASE) engine = create_engine(DB_URI)Base = declarative_base(engine) # Session = sessionmaker(engine)# session = Session()session = sessionmaker(engine)() #Session(**local_kw) class Article(Base): __tablename__ = 'article' id = Column(Integer,primary_key=True,autoincrement=True) title = Column(String(50),nullable=False) create_time = Column(DateTime,default=datetime.now)  def __repr__(self): return '<article:{title}>'.format(title=self.title) # Base.metadata.drop_all()## Base.metadata.create_all()### for x in range(0,100):#   article = Article(title = 'title%s'%x)#   session.add(article)# session.commit() #第一limit的用法,限制查询多少数据article = session.query(Article).limit(10).all()#用limit限制只查询10个数据print(article) #第二个参数offset的用法,本意是偏移量,在这里就是从多少开始查询article_offset = session.query(Article).offset(10).all()print(article_offset) #offset和limit联合起来用,就相当于python 的字符串和列表、元祖的切片操作article_offset_limit = session.query(Article).offset(10).limit(5).all()print(article_offset_limit) #如果查询最新的10篇文章,就可以用order_by 和 limit 一起用article_order_by_limit = session.query(Article).order_by(Article.id.desc()).limit(10).all()print(article_order_by_limit) #slice,本身就是切片的意思article_order_by_slice = session.query(Article).order_by(Article.id.desc()).slice(0,10).all()print(article_order_by_slice) #还有一个更简单的方法,就想python的列表切片操作 article_list_slice = session.query(Article).order_by(Article.id.desc())[0:10]print(article_list_slice)


以上这篇python文件操作seek()偏移量,读取指正到指定位置操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。


标签:python,Article,偏移量,session,limit,offset,article,seek,order
来源: https://blog.51cto.com/14825302/2536157

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有