python常用函数的用法_python3 文件操作常用函数用法示例

1. file.close()

关闭文件。关闭后文件不能再进行读写操作,需要重新打开才能进行读写。f = open('demo.text' , 'r') # 使用只读方式打开文本

print(f.read()) # 打印demo.text文件内容

f.close() # 关闭文件

2. file.flush()

将缓存区中的数据立刻写入文件,同时清空缓存区, 而不是被动的等待缓存数据写入。f = open('demo.text' , 'w') # 使用只写方式打开文本

print(f.write('test')) # 打印写入demo.text文件的内容

f.flush() # 刷新缓冲区

f.close() # 关闭文件

注:该方法没有参数和返回值

3. file.fileno()

该方法返回一个整型的文件描述符(file descriptor FD 整型),可以用在如os模块的read方法等一些底层操作上。f = open("demo.txt", "wb") # 文件1:demo.text

print ("文件名为: ", f.name)

f1 = open("dem.txt", "wb") # 文件2:dem.text

print ("文件名为: ", f1.name)

f2 = open("d.txt", "wb") # 文件3:d.text

print ("文件名为: ", f2.name)

fid = f.fileno() # 调用file.fileno()方法

fid1 = f1.fileno()

fid2 = f2.fileno()

print ("文件描述符为: ", fid)

print ("文件描述符为: ", fid1)

print ("文件描述符为: ", fid2)

# 关闭文件

f.close()

f1.close()

f2.close()

#输出:

文件名为: demo.txt

文件名为: dem.txt

文件名为: d.txt

文件描述符为: 3

文件描述符为: 4

文件描述符为: 5

4. ile.isatty()

如果文件连接到一个终端设备返回 True,否则返回 False。f = open('demo.text' , 'wb') # 使用只写方式打开文本

print('文件名为:' , f.name) # 打印demo.text文件名,f.name调用文件名

te = f.isatty() # 刷新缓冲区

print ('返回值:', te)

f.close() # 关闭文件

#输出:

文件名为:demo.text

返回值:False

5. file.read([size])

从文件读取指定的字节数,如果未给定或为负则读取所有。#假设文本内容为:qwer这是一个测试

f = open('demo.text' , 'r+') # 使用读写方式打开文本

test1 = f.read(4) # 设置读取的字符数

print ('读取的是:', test1)

f.seek(0) # 将指针移到首位

test2 = f.read(8) # 设置读取的字符数

print ('读取的是:', test2)

f.close() # 关闭文件

# 输出:

读取的是: qwer # 英文为1个字符

读取的是: qwer这是一个 # 中文也为1个字符

6. file.readline([size])

读取整行,包括 "\n" 字符。如果给它指定一个非负数的参数,那么将返回指定大小的字符数,包括 "\n" 字符#假设文本内容为:

1.这是第一行

2.这是第二行

3.这是第三行

f = open('demo.text' , 'r+') # 使用读写方式打开文本

line1 = f.readline()

print ("读取第1行:{}" .format(line1))

line2 = f.readline(4)

print ("读取的字符串为:{}" .format(line2))

f.close() # 关闭文件

# 输出:

读取第1行:1.这是第一行

读取的字符串为:2.这是

7. file.readlines([sizeint])

读取所有行并返回列表,可以使用for...in...循环处理列表数据,如果sizeint > 0,那么返回总和大约为sizeint字节的行, 实际读取值可能比 sizeint 较大, 因为需要填充缓冲区。# 如果碰到结束符 EOF 则返回空字符串。

# 假设文本内容为:

1.这是第一行

2.这是第二行

3.这是第三行

f = open('demo.text' , 'r+') # 使用读写方式打开文本

for line in f.readlines(): # 依次读取每行

line = line.strip() # 去掉每行头尾空白

print ("读取的数据:{}" .format(line))

# 关闭文件

f.close()

# 输出:

读取的数据:1.这是第一行

读取的数据:2.这是第二行

读取的数据:3.这是第三行

8. file.seek(offset, whence)

移动文件读取指针到指定位置,它有两个参数,分别是:offset --- 开始的偏移量,代表需要移动偏移的字节数,负数表示从倒数第几位开始。

whence --- 可选参数,默认值为 0。给 offset 定义一个参数,表示从哪个位置开始偏移;0 代表从文件开头开始算起,1 代表从当前位置开始算起,2 代表从文件末尾算起。#假设文本内容为:0123456

f = open('demo.text', 'rb+')

print(f.read()) # 输出:b'0123456'

f.seek(3) # 移动到文件的第六个字节

print(f.read(1)) # 输出:b'3'

f.seek(-4, 2) # 移动到文件倒数第三个字节

print(f.read(1)) # 输出:b'5'

f.close() # 关闭文件

9. file.tell()

返回文件当前位置,即文件指针当前位置。#假设文本内容为:0123456

f = open('demo.text', 'r+')

print(f.read()) # 输出:0123456

# 获取当前文件位置

n = f.tell()

print ("当前位置: {}" .format(n)) #输出:7

f.close() # 关闭文件

10. file.truncate([size])

从文件的首行首字符开始截断,截断文件为 size 个字符,无 size 表示从当前位置截断;截断之后后面的所有字符被删除,其中 windows 系统下的换行代表2个字符大小。#假设文本内容为:

123

223

323

f = open('demo.text', 'r+') # 只读方式打开文本

line = f.readline() # 读取整行

print("读取的数据:{}" .format(line)) # 输出:读取的数据:123

# 从当前位置截断

f.truncate()

line = f.readlines() # 读取所有行

print("读取的数据:{}" .format(line)) # 输出:读取的数据:['223\n', '323']

f.close() # 关闭文件

11. file.write(str)

将字符串写入文件,返回的是写入的字符长度。#调用write()方法必须先拥有写入权限

#假设文本内容为:123

f = open('demo.text', 'r+') #以读写模式打开文本

f.write('这是一个字符串') #write()会从头开始写入内容,并覆盖原来的内容

f.seek(0) #将文本指针移到文首

print(f.read()) # 输出:这是一个字符串

f.close() #关闭文本

12. file.writelines(sequence)

向文件写入一个序列字符串列表,如果需要换行则要自己加入每行的换行符。f = open("test.text", "w+") #创建一个test文本文件,并以读写模式打开

s = ["python\n", "工程狮"] #创建一个名为s的字符串列表

f.writelines(s) #写入字符串列表

f.seek(0) #将文本指针移到文首

print(f.read()) #打印文本内容

f.close() # 关闭文件

#输出:

python

工程狮

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/410448.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[html] 制作页面时,前端如何适应各种异形屏?

[html] 制作页面时,前端如何适应各种异形屏? 主要内容区域大小固定,固定在页面中间,两边可伸缩 width:1200px; margin:0 auto;个人简介 我是歌谣,欢迎和大家一起交流前后端知识。放弃很容易, 但坚持一定很…

awk的妙用

终端形式有人说awk的优势在于可以个性化输出命令,这么说来太抽象了,假如我们查看占用6379端口的进程信息。 lsof -i:6379 输出结果: COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME redis-ser 17474 root 6u IPv6 71242 …

追求真实

是选择在迷茫中生活然后死去 还是选择追求真实,在追求的路上死去。 两种方式共同点是死去的时候都是迷茫的。不得不说是生命的悲剧,不过也可以说是生命的精彩转载于:https://www.cnblogs.com/cuihongyu3503319/archive/2011/08/07/2130204.html

C# ASP.NET MVC 图片上传的多种方式(存储至服务器文件夹,阿里云oss)

图片上传时我们进场用到的一个功能今天将他整理了一下写了个demo希望对大家有用 该demo分为如下 1.上传至至服务器文件夹 2.上传至阿里云oss 3.百度webupload上传图片 效果图如下: 首先讲解一下后台代码 (1)上传至服务器存储 using System; using System.Collections; u…

[html] 写一个布局,当页面滚动一定高时,导航始终固定在顶部,反之恢复原位

[html] 写一个布局,当页面滚动一定高时,导航始终固定在顶部,反之恢复原位 使用粘性定位,position:sticky 记得使用的时候父元素不能使用overflow:hidden和overflow:auto属性,而且必须要指定top/left/bottom/right中任…

java变量命名规则_浅谈JAVA开发规范与开发细节(上)

开发团队在开发过程中,由于每个人的开发习惯,以及对于技术的理解深浅程度不一,往往一个项目在开发过程中,代码的质量,代码的风格都不尽相似,所以有一份适合团队的代码规范是非常有必要的,而一个…

使用Moles对静态方法做UnitTest

我们在开发,有时遇到一些Legcy代码,然后需要对它们进行UnitTest。UnitTest的重要性在这里不再说了。但是发现某些Class中有些方法是Static的,按以往的方法我们需要用Extact Interface 方法 从那个需要测试的Class,然后使用 IOC /D…

Charles

安装 https://www.jianshu.com/p/cb744a4c0344 https://blog.csdn.net/qq_28831197/article/details/81196571 使用说明: 来源:https://www.jianshu.com/p/73b134559c76 过滤网络请求 通常情况下,我们需要对网络请求进行过滤,只监…

.NET Core Docker使用初入篇

本篇内容如何在CentOS上安装Docker服务器与工具准备安装Docker更新系统安装Docker源设置Docker开机启动启动Docker使用Docker运行一个.NET Core 例子.net core 例子拉取.net core 例子停止.net core 例子启用其他如何在CentOS上安装Docker 服务器与工具准备 首先我们需要一个…

[html] 写一个布局,当页面滚动一定高时,导航始终固定在顶部,反之恢复原位

[html] 写一个布局,当页面滚动一定高时,导航始终固定在顶部,反之恢复原位 使用粘性定位,position:sticky 记得使用的时候父元素不能使用overflow:hidden和overflow:auto属性,而且必须要指定top/left/bottom/right中任…

C++学习记录

1.C中没有C#中所谓的引用类型和值类型&#xff0c;需要使用引用&#xff0c;或者指针操作对象&#xff0c;但是指针容易出错&#xff0c;为什么不用引用而用指针呢&#xff0c;下面给出总结 <1>引用在声明时必须初始化&#xff0c;指针可以是空指针&#xff0c;引用定义后…

如何延长作用域链_第4部分2:作用域(链)和 闭包

知识列表作用域/作用域链 闭包&#xff08;涉及JS垃圾回收机制 &#xff09;https://zhuanlan.zhihu.com/p/27110726 【 js 基础 】【读书笔记】作用域和闭包https://juejin.im/post/5afb0ae56fb9a07aa2138425 深入理解闭包之前置知识→作用域与词法作用域&#xff08;一&#…

nginx配置简介

一、安装部署环境&#xff1a;centos 7.21.离线安装&#xff1a;Nginx下载地址&#xff1a;http://nginx.org/en/download.html下载稳定版本nginx-1.16.0.tar.gz到/usr/local下进行解压安装&#xff1a; # ./configure --prefix/usr/local/nginx-1.16.0 --with-pcre \ # make &…

C# T4模板在项目中的使用

1.什么是t4模版 T4&#xff0c;即4个T开头的英文字母组合&#xff1a;Text Template Transformation Toolkit。 T4(Text Template Transformation Toolkit)是微软官方在VisualStudio 2008中开始使用的代码生成引擎。在 Visual Studio 中&#xff0c;“T4 文本模板”是由一些文…

[置顶] 再谈学习方法

之前写过一篇文章&#xff1a;浅谈Oracle学习方法http://blog.csdn.net/tianlesoftware/article/details/5448689这里不谈Oracle&#xff0c;只谈学习方法。 常说师傅领进门&#xff0c;修行靠个人。 研究Oracle 需要靠自己的学习&#xff0c;需要多花时间来研究&#xff0c;我…

[html] 举例说明HTML5出来后,有哪些HTML标签被弃用了?

[html] 举例说明HTML5出来后&#xff0c;有哪些HTML标签被弃用了&#xff1f; center u s font ..... 等等违反表现和结构分离原则的标签被弃用个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&#xff0c; 但坚持一定很酷。欢迎大家一起讨论 主目录…

python定义一个列表_如何在Python中创建用户定义的列表?

你需要将怪物的数量发送给使用它的函数&#xff1a;def welcome(): number monsters() print(Alright, str(number) monsters.) print(So, what are the names of these beasties?) # send number of monsters to monsterNames mNames monsterNames(number) 以及&#x…

Docker中安装Jenkins实时发布.net core 项目(一)

Docker中安装Jenkins实时发布.net core 项目安装docker懒人篇手动安装dockerfile安装jenkins常规安装jenkinsjenkins的安装搜索jenkins拉取jenkins容器jenkins的启动jenkins密码其他安装docker 使用curl安装最新版 curl -fsSL https://get.docker.com/ | sh重启Docker systemc…

nginx获取客户端请求的真实IP

客户端通过nginx代理访问后端jetty服务器时&#xff0c;后端服务器收到的请求信息中只有nginx代理的IP信息&#xff0c;无法看到client的真实IP&#xff0c; 所以nginx需要获取客户端请求头的真实IP地址进行传递&#xff0c;网上查资料一般配置如下&#xff1a; server {listen…

DP之八

//sicily 1166. Computer Transformat#include<iostream> //DP高精度using namespace std;#define M 50int Bit(int p){if(p0)return 1;int bit0;while(p!0) { p/10; bit; }return bit;}class Longint //高精度{public: Longin…