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( ...
随机推荐
- Linux(centos7)安装maven3.5
1.创建一个maven文件夹 [root@MiWiFi-R3-srv ~]# mkdir /usr/local/maven 1 2.上传apache-maven-3.5.0-bin.tar.gz到/u ...
- Oracle 死锁处理
一.数据库死锁的现象程序在执行的过程中,点击确定或保存按钮,程序没有响应,也没有出现报错.二.死锁的原理当对于数据库某个表的某一列做更新或删除等操作,执行完毕后该条语句不提交,另一条对于这一列数据做更 ...
- 一个老IT产品管理者对于产品经理工作的经验总结
一个老IT产品管理者对于产品经理工作的经验总结 1. 任何行业,包括IT行业,所谓产品管理.产品经理,其核心应该是企业产品管理制度,也就是说,只有企业存在相应的.合理的产品管理体系和制度,产品管理.产 ...
- TCP、UDP、Socket 通信(原)
说明:本随笔主要演示自己给自己发送消息例子,分别使用了TCP协议.UDP协议以及socket套接字通信.使用socket套接字了模拟TCP.UDP通信实现原理.其中有些源码都来自<C#高级编程 ...
- 自开发Web应用和SAP Customer Data Cloud Identity服务的集成
今天的文章继续由SAP成都研究院的云时代女王,Aviva给大家分享关于SAP Customer Data Cloud的一些使用经验. Aviva之前的文章可以在本文末尾处获得. 下面是她的正文. 大家 ...
- github基本概念
github: 托管项目代码. 仓库(repository):用来存放项目的代码,每个项目对应一个仓库,多个项目则有多个仓库. 收藏(star):收藏项目的人数.收藏别人的项目方便下次查看. 复制克隆 ...
- 页面间传递前端请求参数和获取参数:Model model,HttpServletRequest request, ModelMap map参数使用与区别
Model model, HttpServletRequest request, ModelMap map声明变量 一.下面的方法是需要将请求发过来的数据(或者说参数)传递到重定向的页面/转发的页面的 ...
- CF13C Sequence
嘟嘟嘟 偶然看到的这道题,觉得有点意思,就做了. 首先题里说修改后的数列只能出现修改前的数,那么状态之间的转移也就之可能在这些数之间. 令f[i][j]表示第 i 个数改成原序列第 j 小的数时的最小 ...
- 查找连接过的USB存储设备
gp "HKLM:\SYSTEM\CurrentControlSet\Enum\USBSTOR\*\*"|select friendlyname,CompatibleIDs,mfg ...
- 常用的css选择器
1.最基本的 * * 选择所有元素. #id #firstname 选择 id="firstname" 的元素. .class .intro 选择 class="intr ...