python学习之文件读写入门(文件读的几种方式比较)
1、文件读写简单实例:(以w写的方式打开一个文件,以r读一个文件)
# Author : xiajinqi # 文件读写的几种方式
# 文件读写
f = open("D://test.txt","w",encoding="utf-8")
f.write("hello world")
f.flush()
f.close() f = open("D://test.txt","r",encoding="utf-8")
data = f.read()
data2 = f.read()
f.seek(0,0)
data3 = f.read()
print("data-------------------",data)
print("data2------------------",data2)
print("data3-----------------",data3)
2、文件写的w和a 简单介绍
# Author : xiajinqi # 文件读写的几种方式
# 文件写,文件写,如果就文件存在,会清空旧文件内容(切记),如果不存在就创建。并且不能读
f = open("test.txt","w",encoding="utf-8")
f.write("hello world1\n")
f.write("hello world2\n")
f.write("hello world3\n")
f.flush()
f.close() f = open("D://test.txt","r",encoding="utf-8")
data = f.read()
print(data)
f.close() # 文件追加,不能读,在文件尾部追加,不会清空旧的文件
f = open("test.txt","a",encoding="utf-8")
f.write("追加1")
f.close() f = open("test.txt","a",encoding="utf-8")
f.write("\n追加2")
f.close() f = open("test.txt","r",encoding="utf-8")
data = f.read()
print(data)
f.close() 执行结果
E:\Users\xiajinqi\PycharmProjects\twoday\venv\Scripts\python.exe E:/Users/xiajinqi/PycharmProjects/twoday/file.py
hello world1
hello world2
hello world3 hello world1
hello world2
hello world3
追加1
追加2 Process finished with exit code 0
3、文件读r的详细使用。文件读的几种方式和优缺点:
# Author : xiajinqi
# 文件读按照行数读
#方式一,读全部内容(文件太大时候,内存会爆掉)
f = open("test.txt","r",encoding="utf-8")
print("一次性读出来--------------")
print(f.read())
f.close() #方式2,一行一行读readline ,读出所有的行,并且转换为数组f.readlines()
#由于一直在往内存读,导致内存会爆掉,这种循环又称为low
f = open("test.txt","r",encoding="utf-8")
print("一行一行读low looper--------------")
for key,line in enumerate(f.readlines()):
print(key,line.strip())
f.close() # 方式3 :文件循环读。内存每次只有一行,读一行,关闭一行,内存永远不会爆掉。建议使用3,效率最高
f = open("test.txt","r",encoding="utf-8")
print("一行一行读bigger looper--------------")
for line in f :
print(line.strip())
f.close()
4、练习题目 ,实现第九行不打印的两种方式
方式一:
f = open("test.txt","r",encoding="utf-8")
print("不打印第九行")
count = 0
for line in f :
count = count + 1
if count == 9 :
print("分隔符>>>>>>>>>>>>>>>>>>>")
continue
print(line.strip())
f.close() 方式二:
f = open("test.txt","r",encoding="utf-8")
print("不打印第九行方式二")
for key,line in enumerate(f.readlines()) :
if key == 8 :
print("分隔符>>>>>>>>>>>>>>>>>>>")
continue
print(key+1,line.strip())
f.close()
5、seek(),tell() 介绍和总结:
#tell 记录当前指针的位置(字符位置),seek设置指针的位置 f = open("test.txt","r",encoding="utf-8")
print("第一次打印")
print(f.read())
print(f.read()) # 指针已经到了文件尾部,继续读将为空
print("第二次打印")
f.seek(0,0)
print(f.read())
f.close() #查找当前位置
f = open("test.txt","r",encoding="utf-8")
f.readline()
print(f.tell())
f.close()
6、文件的其他函数总结:
#
f = open("test.txt","r",encoding="utf-8")
print("其他函数使用")
print(f.fileno()) #文件在系统中的编号,一般
print(f.name) #文件名字
print(f.seekable()) #终端设备无法移动
print(f.readable()) #文件是否可以读
f.close()
7、flush 使用。将内存数据写到文件(系统默认不是实时刷新)
import sys,time
# 显示进度条
for i in range(10) :
sys.stdout.write("#")
sys.stdout.flush()
time.sleep(0.2)
python学习之文件读写入门(文件读的几种方式比较)的更多相关文章
- Python学习系列(五)(文件操作及其字典)
Python学习系列(五)(文件操作及其字典) Python学习系列(四)(列表及其函数) 一.文件操作 1,读文件 在以'r'读模式打开文件以后可以调用read函数一次性将文件内容全部读出 ...
- python使用xlrd模块读写Excel文件的方法
本文实例讲述了python使用xlrd模块读写Excel文件的方法.分享给大家供大家参考.具体如下: 一.安装xlrd模块 到python官网下载http://pypi.python.org/pypi ...
- python学习笔记(六)文件夹遍历,异常处理
python学习笔记(六) 文件夹遍历 1.递归遍历 import os allfile = [] def dirList(path): filelist = os.listdir(path) for ...
- 使用 JavaScript 的 HTML 页面混合、JavaScript 文件引用和 HTML 代码嵌入 3 种方式在 HTML 页面上打印出“点击我进入到百度首页”的超链接
查看本章节 查看作业目录 需求说明: 使用 JavaScript 的 HTML 页面混合.JavaScript 文件引用和 HTML 代码嵌入 3 种方式在 HTML 页面上打印出"点击我进 ...
- python学习笔记(二)文件操作和集合
集合: 集合也是一种数据类型,一个类似列表东西,它的特点是无序的,不重复的,也就是说集合中是没有重复的数据 集合的作用: 1.它可以把一个列表中重复的数据去掉,而不需要你再写判断 2.可以做关系测试, ...
- python学习笔记之十:文件和素材
这里将介绍函数和对象--文件和流,让你在程序调用期间存储数据,并且可以处理来自其他程序的数据. 一. 打开文件 1.1 open函数 open函数用来打开文件,语法如下:open(name,[.mod ...
- python学习笔记——(三)文件操作
·集合操作及其相应的操作符表示集合中没有插入,只有添加,因为毕竟无序 #!/usr/bin/env python # -*- coding:utf-8 -*- # Author:Vergil Zhan ...
- Python学习笔记 -- 第六章 文件操作
I/O编程 在磁盘上读写文件的功能都是由操作系统提供的,现代操作系统不允许普通的程序直接操作磁盘,所以,读写文件就是请求操作系统打开一个文件对象(通常称为文件描述符),然后,通过操作系统提供的接口从这 ...
- python学习day9 字符编码和文件处理
1.字符编码 x='上' #unicode的二进制--------->编码-------->gbk格式的二进制 res=x.encode('gbk') #bytes 字节类型 print( ...
随机推荐
- ARC中用代码检测一个对象有没有释放掉
ARC中用代码检测一个对象有没有释放掉 你试过在ARC中用代码检测对象有没有释放掉这种事情呢?即使你想过肯定也不知道怎么去实现,因为,这里会用到一个你基本上没怎么接触过的类:NSHashTable. ...
- 如果使用没有提供选项值的 SqlDependency,必须先调用 SqlDependency.Start(),然后才能执行添加到 SqlDependency 实例中的命令
如标题错误,解决办法及出现错误情况,见图片 出现如图错误
- API Gateway微服务
微服务中的 API 网关(API Gateway) 前言 又是很久没写博客了,最近一段时间换了新工作,比较忙,所以没有抽出来太多的时间写给关注我的粉丝写一些干货了,就有人问我怎么最近没有更新博客了 ...
- WebSphere集群环境修改IHS端口号的方法
参考资料:http://wenku.baidu.com/link?url=E9BkuEjJ16i9lg7l91L0-xhKCYkHV0mAnlwAeSlDCFM4TjZyk4ZVxmUu64BGd4F ...
- Executor线程池框架
Executor线程池框架 new Thread()的缺点 每次new Thread()耗费性能 调用new Thread()创建的线程缺乏管理,被称为野线程,而且可以无限制创建,之间相互竞争,会导致 ...
- 牛客网多校训练第一场 J - Different Integers(树状数组 + 问题转换)
链接: https://www.nowcoder.com/acm/contest/139/J 题意: 给出n个整数的序列a(1≤ai≤n)和q个询问(1≤n,q≤1e5),每个询问包含两个整数L和R( ...
- [19/03/25-星期一] 容器_Collection(集合、容器)之Set(集合、安置,无顺序不可重复)
一.概念&方法 Set接口继承自Collection,Set接口中没有新增方法,方法和Collection保持完全一致.. Set容器特点:无序.不可重复.无序指Set中的元素没有索引,只能遍 ...
- sqlserver事务怎么开启 怎么提交 怎么回滚
1.自动transaction每句statement都是一个transaction.例一个update指令更新多笔纪录, 要就全部成功, 只要失败,全部会回复原值. 2.ExplicitTransac ...
- PAT——1014. 福尔摩斯的约会
大侦探福尔摩斯接到一张奇怪的字条:“我们约会吧! 3485djDkxh4hhGE 2984akDfkkkkggEdsb s&hgsfdk d&Hyscvnm”.大侦探很快就明白了,字条 ...
- springboot启动报错:Could not resolve placeholder
SpringBoot1.5,项目启动报错: Could not resolve placeholder 很明显是找不到配置文件引起的,查看配置文件目录结构如下: 很正常呀. 完全可以加载applica ...