python中文件的打开、操作和关闭
时间:2019-02-17
本文章向大家介绍python中文件的打开、操作和关闭,主要包括python中文件的打开、操作和关闭使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
打开文件的步骤:打开==>操作==>关闭
1.文件的打开
f = open('/tmp/pass','r+') ##括号里面第一个参数为要打开的文件,第二个参数代表要以什么样的权限去操作文件
##下面是第二个参数的权限
"""
r:(默认)
-只能读,不能写
-读取文件不存在,会报错
r+:
-可读写
-读取文件不存在,会报错
w:
-write only
-会清空文件之前的内容
-文件不存在,不会报错,会创建新的文件并写入
w+:
-rw
-会清空文件内容
-文件不存在,不报错,会创建新的文件
a:
-write only
-不会清空文件内容
-文件不存在,不会报错,会创建新的文件并写入
a+:
-rw
-文件不存在不报错
-不会清空文件内容
b:
二进制
"""
如何看你打开的文件是都可读可写呢
print(f.readable()) ##判断是否可读
print(f.writable()) ##判断是否可写
2.文件的操作
1)读取文件的内容
content = f.read() ##会读取文件的所有内容,在一行输出
content = f.read(3) ##会读取文件的前3个
print(f.readline()) ##读取并输出文件的第一行
print(f.readlines()) ##读取文件内容,返回一个列表,列表的元素分别为文件行的那内容
2)写入文件
f.write('hello') ##在文件的最后一行添加hello
3)指针位置
print(f.tell())
seek方法移动指针
seek第一个参数是偏移量:>0,代表向右移动,<0,代表向左移动
seek第二个参数是:
0:移动指针到文件开头
1:不移动指针
2:移动指针到末尾
f.seek(-1,2) ##表示向左移动两个单位
4)非纯文本的操作
下面的操作是复制了一张图片
f1 = open('1111.jpg',mode='rb')
content = f1.read()
f1.close()
f2 = open('westos.jpg',mode='wb')
f2.write(content)
f2.close()
3.文件的关闭
f.close() ##文件打开就一定要关闭,否则会一直占用系统资源
4.with
上下文管理器:打开文件,执行完with语句内容之后,自动关闭文件对象
就像下面这个结构
#同时打开两个文件对象
with open('/tmp/passwd') as f1,\
open('/tmp/passwdbackup','w+') as f2:
#将第一个文件的内容写入到第二个文件中
f2.write(f1.read())
#移动指针到文件最开始
f2.seek(0)
#读取文件内容
print(f2.read())
5.练习
创建文件data.txt,文件共100000行,每行存放一个1~100之间的整数,写完后读取文件内容
import random
f = open('date.txt','a+')
for i in range(100000):
f.write(str(random.randint(1,100)) + '\n')
f.seek(0,0)
print(f.read())
f.close()
ok~
- javascript Object与Array用法
- vue class与style 绑定详解——小白速会
- java8-Stream之数值流
- POJ 3694 Network(Tarjan求割边+LCA)
- java之Cookie详解
- Ajax详解
- 1611: [Usaco2008 Feb]Meteor Shower流星雨
- 3893: [Usaco2014 Dec]Cow Jog
- 3892: [Usaco2014 Dec]Marathon
- BZOJ 2793: [Poi2012]Vouchers(调和级数)
- 3891: [Usaco2014 Dec]Piggy Back
- Java8-如何构建一个Stream
- 2016: [Usaco2010]Chocolate Eating
- javascript 闭包详解
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- C sharp实例:华盾武器门数据接收和解析
- JsonPath实践(三)
- 有序链表转换二叉搜索树
- 128. 最长连续序列
- 【DB笔试面试859】在Oracle中,内核参数kernel.shmall、kernel.shmall等分别代表什么含义?
- Nginx配置SSL证书
- java_Object类、日期时间类、System类、包装类
- [周末往期回顾]UNDO_TABLESPACE参数
- WordPress固定链接后404解决方法
- [Oracle故障处理]记一次INST_DRTLD_MISMATCH导致的version count过多的问题
- 查表法实现十进制转化成其他进制
- ArrayList源码分析
- java_String类、StringBuilder类、Arrays类、Math类的使用
- 抽象类与接口
- java_static、final、super、this关键字的使用