文件常用操作

# f.write()    #字符串写入文件
#
# f.writelines   #将一串字符串写入文件。 该序列可以是生成字符串的任何可迭代对象,通常是字符串列表
#
# f.read([size])   #默认读出文件中所有内容,可以指定size(字节)
#
# f.readline([size])       #默认每次读取一行,字符串中保留一个尾随的换行字符。
#
# f.readlines([size])      #默认将文件内容讲到列表中保存
#
# f.flush()        #将缓冲中的内容写入磁盘
#
# f.tell()       #显示当前文件的指针所在位置
#
# f.close()    #关闭打开的文件
#
# f.seek()       #对文件进行指针偏移操作,有三个模式,
#
#  一般不是二进制,初始位置只能填0   seek(0,0) 默认移动到文件开头或简写成seek(0)
#
# rb和rb+的时候才能用负数 seek(x,1) 表示从当前指针位置向后移x(正数)个字节,如果x是负数,则是当前位置向前移动x个字节
#
# 一个中文有三个字节,得三个三个的移动,要不会报错    seek(x,2) 表示从文件末尾向前后移x(正数)个字节,如果x负数,则是从末尾向前移动x个字节

f = open("file2.txt",'w+',encoding='utf-8')
f.write("I love python\n")
f.write("python 是世界上最美丽的语言!\n")
f.write("python 世界上最美丽的语言?")
print(len(f.read()))     #文件总长度 89
print(f.tell())          #读完文件,文件指针位置89
f.seek(0,0)              #偏移回文件头
print(f.readline())      #打印出文件中一行(第一行)
print (f.tell())           #显示文件指针现在的位置
print(f.readline())      #再打印一行(应该少2个字节)
print(f.tell())          #显示 现在 的指针位置
print(f.readline())      #打印下一行
print(f.tell())          #显示 现在 的指针位置
f.seek(57,0)             #从尾部向前偏移9个字符
print(f.tell())          #显示 现在 的指针位置
print(f.readline())      #打印出内容
f.close()
# 用r+打开写一定要注意光标位置,如果本来有文字则会覆盖,因为光标是从头开始的

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏狮乐园

高级 Angular 组件模式 (5)

在之前的例子中,已经出现多次使用template reference variable(模板引用变量)的场景,现在让我们来深入研究如何通过使用模板引用变量来关联...

922
来自专栏IMWeb前端团队

vue.js笔记——指令

vue.js笔记——指令 跟ng的指令系统类似,vue也拥有一套指令系统。 所谓指令,其实本质就是在模板中出现的特殊标记,根据这些标记让框架知道需要对这里的 D...

2249
来自专栏九彩拼盘的叨叨叨

Sass 写法示例

CSS 本身是非常强大的,但随着样式表变大,变复杂,维护 CSS 变得越来越难。这时候预处理就有用了。Sass 是一种预处理,它能让你使用一些 CSS 中没有的...

921
来自专栏编程心路

想学习php的,不如来这里看看

win+R打开命令行,cmd进DOS窗口 DOS命令开启关闭Apache和Mysql Apache启动关闭命令

1253
来自专栏Golang语言社区

Golang中container/list包中的坑

但是list包中大部分对于e *Element进行操作的元素都可能会导致程序崩溃,其根本原因是e是一个Element类型的指针,当然其也可能为nil,但是gol...

38414
来自专栏IMWeb前端团队

Zepto中数据缓存原理与实现

本文作者:IMWeb 谦龙 原文出处:IMWeb社区 未经同意,禁止转载 前言 以前我们使用Zepto进行开发的时候,会把一些自定义的数据存到dom...

18510
来自专栏前端知识分享

第11天:JS中变量、字符串基础知识

js页面效果:轮播图、选项卡、地图、表单验证javascript是弱变量类型的语言,变量只需要用var来声明。而java要根据变 量类型来声明,

3823
来自专栏用户画像

H5中的标记方法

要使用H5标记,必须先进行如下的doctype声明,不区分大小写。Web浏览器通过判断文件开头有没有这个声明,来判断解析器和渲染类型是否切换到对应的H5模式。

821
来自专栏源哥的专栏

给textarea增加长度的限制

给textarea增加长度的限制     我们知道文本框可以有一个为maxlength的属性,可以限制文本框的长度,当时备注框textarea却没有,那么 要怎...

962
来自专栏xiaoxi666的专栏

c++ 继承类强制转换时的虚函数表工作原理

本文通过简单例子说明子类之间发生强制转换时虚函数如何调用,旨在对c++继承中的虚函数表的作用机制有更深入的理解。

2043

扫码关注云+社区

领取腾讯云代金券