【python】实例-读取已有文件的内容
文件操作流程
1.打开文件,得到文件句柄并赋值给一个变量
2.通过句柄对文件进行操作
3.关闭文件
打开模式
python中有神奇的三种读操作:read、readline和readlines
read() : 一次性读取整个文件内容。推荐使用read(size)方法,size越大运行时间越长
readline() :每次读取一行内容。内存不够时使用,一般不太用
readlines() :一次性读取整个文件内容,并按行返回到list,方便我们遍历
读取文件及光标控制:
"""
读取文件示例
只有读取时候才受光标的影响
"""
###全部读取
f=open("yesterday",mode="r",encoding="utf-8")
print(f.tell()) #告诉当前光标位置
#>>>0
print(f.readlines()) ##读取文件全部内容,返回list
#>>>[all file content]
print(f.tell()) #告诉当前光标,
#>>> 235
print("round 2:",f.read())
#>>>round 2: ##因为光标位置在尾部,所以读取不到任何信息
f.seek(0) #把光标移动到开始位置
print("round 3 : ",f.read())
#>>>all file content
同时读写文件:
f=open("yesterday",mode="r+",encoding="utf-8")
w=open("new_yesterday",mode="w",encoding="utf-8") for line in f: ##遍历文件内容最常用方法,适用于大文件
if "test3" in line:
line=line.replace("test3","TEST3")
w.write(line)
f.close() ###文件打开后必须关闭,否则浪费内存
flush()方法:
将缓冲区中的数据立刻写入文件,同时清空缓冲区,不需要是被动的等待输出缓冲区写入。
w=open("flush_demo",mode="r+",encoding="utf-8") for i in range(10):
w.write(str(i))
w.flush() ##把缓冲区的内容刷到文件里
print(w.name) ###打印文件名
w.close()
with语句
为了避免打开文件后忘记关闭,可以通过管理上下文,即:
with open("yesterday",mode="r+",encoding="utf-8") as f:
for line in f:
print(line) ####支持同时打开多个文件
with open("yesterday",mode="r+",encoding="utf-8") as f1, open("new_yesterday",mode="r+",encoding="utf-8") as f2:
for line1 in f1:
print(line1)
示例:
读取文件示例:
import os
Filename=raw_input("please input filename that you will open: ")
if os.path.exists(Filename):##检查文件是否存在
try:
Filehandle=open(Filename,"r") except Exception,e: ##捕获Exception的错误 存储到e里面。其中Exception是异常的基类
print e else:
for words in Filehandle:
print words
Filehandle.close()
else:
print "%s not exits"%Filename
写入文件示例:
import os
lnend=os.linesep ##windows行结束符号是“\r\n”
FileName=raw_input("please input filename:")
while True:##检查该文件是否存在,当执行到break时跳出while循环
if os.path.exists(FileName):##检索脚本所在目录的位置
print "%s already exits" %FileName
FileName=raw_input("please input filename:")
else:
break
ALL=[]##创建空的列表用于存储输入内容
print "please input words (ok to stop inputing)\n"
while True:##当执行到break时跳出while循环
words=raw_input(">>")
if words=="ok":
break
else:
ALL.append(words)##循环的往列表添加内容
FileHandle=open(FileName,"w")
FileHandle.writelines(["%s%s" %(x,lnend) for x in ALL] )##函数writelines(list)可以将list写入到文件中,但是不会在list每个元素后加换行符,因此需要lnend换行符。同样write(str)把str写到文件中,write()也不会在str后加上一个换行符
FileHandle.close()
print "DONE"
【python】实例-读取已有文件的内容的更多相关文章
- C#中选中指定文件并读取类似ini文件的内容
一.背景 由于项目中需要去读取设备的配置信息,配置文件的内容和INI配置文件的格式类似,所以可以按照INI文件的方式来处理.涉及如何打开一个文件,获取打开的文件的路径问题,并读取选中的文件里边的内容. ...
- Python 读取本地*.txt文件 替换 内容 并保存
# r 以只读的方式打开文件,文件的描述符放在文件的开头# w 打开一个文件只用于写入,如果该文件已经存在会覆盖,如果不存在则创建新文件 #路径path = r"D:\pytho ...
- Python 实例——进度条,文件读取
进度条: import sys import time for i in range(50): sys.stdout.write("*") sys.stdout.flush() t ...
- python脚本 读取excel格式文件 并进行处理的方法
一.安装xlrd模块 pip install xlrd 二.读取excel文件 try: excel_obj = xlrd.open_workbook("文件路径") except ...
- python中 .write 无法向文件写入内容
问题代码如下 links = open("new") out = open("out.txt","w+") for link in link ...
- python练习六十三:文件处理,读取文件内容,按内容生成文件
python练习六十三:文件处理 假设要读取code.txt文件中内容,code.txt文件内容如下 01 CN Chinese 02 US United States of America 03 J ...
- python练习六十一:文件处理,读取文件内容
python练习六十一:文件处理,读取文件内容 假设要读取text.txt文件中内容 写文件(如果有文件,那直接调用就行,我这里自己先创建的文件) list1 = ['python','jave',' ...
- Python学习(15)文件/IO
目录 Python 文件I/O 打印到屏幕 读取键盘输入 打开和关闭文件 File对象属性 文件定位 重命名和删除文件 Python的目录 Python 文件I/O 本章只讲述所有基本的的I/O函数, ...
- .NET Core的文件系统[1]:读取并监控文件的变化
ASP.NET Core 具有很多针对文件读取的应用.比如我们倾向于采用JSON文件来定义配置,所以应用就会涉及针对配置文件读取.如果用户发送一个针对物理文件的HTTP请求,应用会根据指定的路径读取目 ...
随机推荐
- 微信小程序 -- 数据请求
微信小程序 -- 数据请求 微信小程序请求数据,并不是一个可以在url打开有数据就可以拿到数据那么简单 浏览器地址输入 可以获取参数的url 微信小程序中 代码展示 wxml <view> ...
- css实现椭圆
先实现个简单点的,用css实现一个圆,ok,直接上代码: .circle{ width: 100px; height:100px; background: red; border-radius: 50 ...
- HDU 3720 深搜 枚举
DES:从23个队员中选出4—4—2—1共4种11人来组成比赛队伍.给出每个人对每个职位的能力值.给出m组人在一起时会产生的附加效果.问你整场比赛人员的能力和最高是多少. 用深搜暴力枚举每种类型的人选 ...
- jsp jsp运行原理
JSP的运行原理 每个jsp页面在第一次被访问时,WEB容器都会把请求交给jsp引擎(一个java程序).Jsp 引擎先将jsp翻译成一个_jspServlet实质上也是一个servlet,然后按照 ...
- learning armbian steps(2) ----- armbian 镜像编译
参考:https://docs.armbian.com/Developer-Guide_Build-Preparation/ 通过如下指令进行编译: apt-get -y -qq install gi ...
- BLE低功耗蓝牙关键技术解析与应用
BLE基础知识 1.传统蓝牙的传输距离几十米到几百米不等,BLE 则规定为 100 米(实际上没有那么远,50米以内比较稳定,和设备发射功率有关) 2.为了实现极低的功耗,BLE 协议设计为:在不必要 ...
- Translating Skills 英汉语序的对比及翻译
本文记录于培训课程. ----------------------------------------- word order:Refers to the sorting in language un ...
- anu - react
import { options } from "./util"; import { Children } from "./Children"; import ...
- centos下tomcat启动卡死
遇到好几次了,总是忘记哪个位置~!!! tomcat启动时查看日志会卡在一个位置很长时间,如下 28-Aug-2018 22:56:55.216 INFO [localhost-startStop-1 ...
- [转]CentOS 6和CentOS 7防火墙的关闭
CentOS6.5查看防火墙的状态: 1 [linuxidc@localhost ~]$service iptable status 显示结果: 1 2 3 4 5 [linuxidc@local ...