python3_文件操作中file.seek()方法

1、seek函数

file.seek(off, whence=0):从文件中移动off个操作标记(文件指针),正往结束方向移动,负往开始方向移动。

如果设定了whence参数,就以whence设定的起始位为准,0代表从头开始,1代表当前位置,2代表文件最末尾位置。

file.seek(0)是重新定位在文件的第0位及开始位置
file = open("test.txt","rw") #注意这行的变动
file.seek(3) #定位到第3个

2、示例

from sys import argv

script,input_file = argv

def print_all(f):
print f.read()

def rewind(f):
f.seek(0)

def print_a_line(line_count,f):
print line_count,f.readline()

current_file = open(input_file)

print "First let‘s print the whole file:\n"

print_all(current_file)

print "Now let‘s rewind,kind of like a tape."

rewind(current_file)

print "Now let‘s print three lines."

current_line = 1
print_a_line(current_line,current_file)

current_line = current_line + 1
print_a_line(current_line,current_file)

current_line = current_line + 1
print_a_line(current_line,current_file)

3、结果

其中test.txt内容如下:

this is the first line content typing in...
我是从键盘输入的内容,准备写入到文件中.
这是第三行。
这是第四行。
这是第五行。

4、示例2

>>> f=open("aaa.txt","w") #以只写的形式打开一个叫做aaa.txt的文件
>>> f.write("my name is liuxiang,i am come frome china") #写入内容
>>> f.close() #关闭文件
>>> f=open("aaa.txt","r") #以只读打开文件
>>> f.read() #读取内容
‘my name is liuxiang,i am come frome china‘
>>> f.seek(3,0) #“0”代表从文件开头开始偏移,偏移3个单位
>>> f.read(5) #从偏移之后的指针所指的位置(即“n”)开始读取5个字符
‘name ‘
>>> f.tell() #显示现在指针指在哪个位置(即“i”的位置)
>>> f.readline() #读取这一行剩下的内容
‘is liuxiang,i am come frome china‘

>>> f.seek(0,2) #“2”代表从末尾算起,“0”代表偏移0个单位
>>> f.read()
‘‘ #因为是从末尾算起,内容已结束。所以读取内容为空

原文地址:https://www.cnblogs.com/mercywym/p/10010146.html

时间: 2024-08-29 10:58:34

python3_文件操作中file.seek()方法的相关文章

php 文件操作中几种方法整理

1.获取文件夹下所有文件个数 echo ShuLiang("../0503lianxi"); function ShuLiang($filename) { if(is_dir($filename))//判断是不是文件夹 { $attr=glob($filename."/*");//是文件夹则遍历目录 $sl=0; foreach($attr as $v) { if(is_dir($v)) { $sl=$sl+ShuLiang($v); } else { $sl++;

使用seek()方法,将Hadoop文件系统中的一个文件在标准输出上显示两次

//使用seek()方法,将Hadoop文件系统中的一个文件在标准输出上显示两次 package com; import java.io.IOException; import java.net.URI; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FSDataInputStream; import org.apache.hadoop.fs.FileSystem; import org.apac

java file文件类操作使用方法大全

1.构造函数 [java] view plaincopy public class FileDemo { public static void main(String[] args){ //构造函数File(String pathname) File f1 =new File("c:\\zuidaima\\1.txt"); //File(String parent,String child) File f2 =new File("c:\\zuidaima",&quo

Python 文件 seek() 方法

概述 Python 文件 seek() 方法用于移动文件读取指针到指定位置. 语法 seek() 方法语法如下: fileObject.seek(offset[,whence]) 参数 offset -- 偏移量,也就是代表需要移动偏移的字节数,注意是按照字节算的,字符编码存每个字符所占的字节长度不一样. 如"路飞学城" 用gbk存是2个字节一个字,用utf-8就是3个字节,因此以gbk打开时,seek(4) 就把光标切换到了"飞"和"学"两个字

Python文件操作及seek偏移详解

本文和大家分享的主要是python中文件操作及seek偏移相关内容,一起来看看吧,希望对大家学习python有所帮助. 一.Python文件操作中的编码 本次测试是基于Python 2.7.12  OS:Ubuntu 16.04  pycharm环境,以及Win7下2.7.12; 首先说下汉字在文件中占用的字节数,这个先看以下实验(Win7)下 因为Linux下不支持gbk,本文不讲utf-8 ,gbk编码具体知识.本次实验只讲解python在使用utf-8和gbk编码时,对汉字占用的字节有所不

C#读写txt文件的两种方法介绍 v

C#读写txt文件的两种方法介绍 1.添加命名空间 System.IO; System.Text; 2.文件的读取 (1).使用FileStream类进行文件的读取,并将它转换成char数组,然后输出. byte[] byData = new byte[100]; char[] charData = new char[1000]; public void Read() { try { FileStream file = new FileStream("E:\\test.txt", Fi

打开cad文件的几种方法

转自原文 打开cad文件的几种方法 IWorkspaceFactory pWorkspaceFactory; IFeatureWorkspace pFeatureWorkspace; IFeatureLayer pFeatureLayer; IFeatureDataset pFeatureDataset; //打开CAD数据集 pWorkspaceFactory = new CadWorkspaceFactoryClass(); pFeatureWorkspace = (IFeatureWork

“fatal error: hdf5.h: 没有那个文件或目录”解决方法

問題一: Installing Caffe without CUDA: fatal error: cublas_v2.h No such file: 在Makefile.config中修改,將CPU_ONLY := 1打開. 問題二:“fatal error: hdf5.h: 没有那个文件或目录”解决方法 参考自http://blog.csdn.net/hongye000000/article/details/51043913 Step 1 在Makefile.config文件的第85行,添加/

Java:文件类File的详解

File类的常用方法: 1.创建 boolean createNewFile():在指定位置创建文件,如果该文件已经存在,则不创建,返回false.和输出流不一样,输出流对象一建立创建文件,而且文件已经存在会覆盖. boolean mkdir():创建一级目录 boolean mkdirs():创建多级目录 2.删除 boolean delete():删除失败,返回false void deleteOnExit():在程序退出时删除指定文件 3.判断 boolean canExecute():文