python文件操作seek()偏移量,讀取指正到指定位置操作
python 文件操作seek() 和 telll() 自我解釋
file.seek()方法格式: seek(offset,whence=0) 移動(dòng)文件讀取指針到制定位置
offset:開始的偏移量,也就是代表需要移動(dòng)偏移的字節(jié)數(shù)。
whence: 給offset參數(shù)一個(gè)定義,表示要從哪個(gè)位置開始偏移;0代表從文件開頭算起,1代表開始從當(dāng)前位置開始算起,2代表從文件末尾開始算起。當(dāng)有換行時(shí),會(huì)被換行截?cái)唷!?seek()無返回值,故值為None
tell() : 文科文件的當(dāng)前位置,即tell是獲取文件指針位置。
readline(n):讀入若干行,n代表讀入的最長(zhǎng)字節(jié)數(shù)。
readlines() :讀入所有行的內(nèi)容
read讀入所有行的內(nèi)容
tell() : 返回文件讀取指針的位置
補(bǔ)充知識(shí):python中l(wèi)imit()和offset()的用法
limit()限制結(jié)果集每次值查詢幾條數(shù)據(jù) offset()可以限制查找對(duì)象數(shù)據(jù)的時(shí)候過濾掉多少條切片,可以對(duì)Query對(duì)象使用切片操作,來獲取想要的數(shù)據(jù),可以使用 select(start,stop)方法來求片操作,也可以使用’[start:stop]的方式來進(jìn)行切片操作,
在實(shí)際開發(fā)中,中括號(hào)形式的是用處較多的,希望大家掌握
#encoding: utf-8from 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 datetimeHOSTNAME = ’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的用法,限制查詢多少數(shù)據(jù)article = session.query(Article).limit(10).all()#用limit限制只查詢10個(gè)數(shù)據(jù)print(article)#第二個(gè)參數(shù)offset的用法,本意是偏移量,在這里就是從多少開始查詢article_offset = session.query(Article).offset(10).all()print(article_offset)#offset和limit聯(lián)合起來用,就相當(dāng)于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)#還有一個(gè)更簡(jiǎn)單的方法,就想python的列表切片操作article_list_slice = session.query(Article).order_by(Article.id.desc())[0:10]print(article_list_slice)
以上這篇python文件操作seek()偏移量,讀取指正到指定位置操作就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。
