Python档案袋(文件系列操作 )
文件读写基础
简单的读文件:
# r 表示只能读
#打开文件,得到文件光标对象,文件不存在则报错
f=open("ww.txt","r",encoding="utf-8") #读取文件内容
res=f.read() #关闭文件
f.close() print(res)
读文件补充:
# r 表示只能读
#打开文件,得到文件光标对象,文件不存在则报错
f=open("ww.txt","r",encoding="utf-8") #读取文件内容,一次性全部读取
#rengs=f.read() #读一行
#res=f.readline() #将文件内容变成一个数组,每行一个元素,一次性全部读取
#res=f.readlines() #print(res) #每行循环打印,一次性全部读取
#for linex in f.readlines():
# print(linex) #每行循环打印,一次性读一行,效率高,推荐
for linex in f:
print(linex) #查看文件指针位置
#汉字长度为3,换行符长度为2,字母长度为1,与文件编码相关
print(f.tell())
#指针回退,0表示文件首部
f.seek(0) #打印文件编码
print(f.encoding) #打印文件名
print(f.name) #关闭文件
f.close()
简单的写文件:
# w 表示只能写
#打开文件,得到文件光标对象,如果文件不存在则新建,如果存在则覆盖
f=open("ww.txt","w",encoding="utf-8") #写文件,返回写入的字数,中文也是1,输出结果为:24
res=f.write("dongxiao\ndongdadong\n东小东东") #f.flush() #强制刷新,写文件时一般有缓冲区,缓冲区满才会写入
#print(f.truncate(2)) #文件截取并更新原文件,从头开始截取,长度与文件编码相关 #关闭文件
f.close()
print(res) #输出:24
简单的追加
在文件内容尾部添加数据
# a 表示追加,只能写
#打开文件,得到文件光标对象,如果文件不存在则新建
f=open("ww2.txt","a",encoding="utf-8") #写文件,返回写入的字数,中文也是1,输出结果为:7
res=f.write("\n追加的东小东") #关闭文件
f.close() print(res) #输出:7
二进制数据
设计图片或者视频数据时可以使用
二进制文件读:
# rb 表示二进制只读 #打开文件,不存在时报错
f=open("ww.txt","rb") res=f.read()
print(res) #关闭文件
f.close()
二进制文件写:
# wb 表示二进制只写 #打开文件,不存在时创建
f=open("ww.txt","wb") #必须经过编码成二进制才能进行写
res=f.write("东小东dong".encode("utf-8"))
print(res) #输出:13 #关闭文件
f.close()
文件内容更改:
实现一个文件的内容复制到另一个文件,并在文件复制的路上,对文件数据的部分修改
#打开两个文件,分别为写和读
fr=open("ww.txt","r",encoding="utf-8")
ft=open("ww1.txt","w",encoding="utf-8") #逐行取内容
for lienx in fr:
print(lienx) #寻找dong是否在字符串中
if "dong" in lienx:
#替换
lienx=lienx.replace("dong","dongxiaodong") ft.write(lienx) #关闭文件
fr.close()
ft.close()
其他方法补充
读写方式操作文件:
# r+ 表示读写 #打开文件,不存在是报错
f=open("ww.txt","r+",encoding="utf-8") print(f.tell())
#写
res=f.write("dongxiao\ndongdadong\n东小东东")
print(res) f.seek(0) #移动文件指针 res=f.read()
print(res) #关闭文件
f.close()
写读方式操作文件:
# w+ 表示写读 #打开文件,不存在时创建
f=open("ww8.txt","w+",encoding="utf-8") #以覆盖方式进行写文件
res=f.write("dongxiao\ndongdadong\n东小东东")
print(res) #此时光标在结尾,必须移动光标
f.seek(0) res=f.readline()
print(res) #关闭文件
f.close()
追加写读方式操作文件:
# a+ 表示追加写读 #打开文件,不存在时创建
f=open("ww10.txt","a+",encoding="utf-8") #以追加方式进行写文件
res=f.write("dongxiao\ndongdadong\n东小东东")
print(res) #此时光标在结尾,必须移动光标
f.seek(0) res=f.read()
print(res) #关闭文件
f.close()
with open……as… 文件操作可以避免忘记手动关闭文件,利用缩进特性实现,下面是如上相同功能实现。
#打开两个文件,分别为写和读
with open("ww.txt","r",encoding="utf-8") as fr,open("ww1.txt","w",encoding="utf-8") as ft:
# 逐行取内容
for lienx in fr:
print(lienx) # 寻找dong是否在字符串中
if "dong" in lienx:
# 替换
lienx = lienx.replace("dong", "dongxiaodong11") ft.write(lienx)
获取文件目录:
import os print(os.path.abspath(__file__))#得到程序的绝对路径
print(os.path.dirname(os.path.abspath(__file__)))#得到程序的绝对路径目录名 print(__file__) #返回程序的相对路径
Python档案袋(文件系列操作 )的更多相关文章
- python对文件的操作
一.python中对文件.文件夹操作时经常用到的os模块和shutil模块常用方法. 1.得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd() 2.返回指定目录下的所有文件 ...
- python里文件读写操作
文件读写操作一种基本操作,但是里面也存在很多需要注意的问题,例如字符编码.内存缓冲.指针位置等等.如果忽视这些问题就会引起很多不必要的麻烦.简单来说,文件的读写分为几个过程: 打开文件,并定义操作文件 ...
- 【Python】文件读写操作
Python的文件读写有点类似php的文件读写.php的文件读写已经在<[php]让记事本成为你调控变量的控制台>(点击打开链接)说过了,以下用一个小样例说明Python的文件读写. 在F ...
- python关于文件的操作
总是记不住API.昨晚写的时候用到了这些,但是没记住,于是就索性整理一下吧: python中对文件.文件夹(文件操作函数)的操作需要涉及到os模块和shutil模块. 得到当前工作目录,即当前Pyth ...
- python进阶--文件读写操作
Python读写文件 1. open 使用open打开文件后一定要记得调用 文件对象的close()方法.比如可以用try --finally语句来确保最后能关闭文件. >>>f1 ...
- Python中文件的操作
文件的操作介绍 文件打开的方法 主要有两种: no with 格式:open(file, mode='r', buffering=-1, encoding=None, errors=None, new ...
- day9 python学习 文件的操作 读 写 seek
文件的操作 1 文件的打开操作: 文件句柄 = open('文件路径', '模式') f=open('wangyakun','a+',encoding='utf-8') #文件名, 如果是绝对路径 ...
- Python读写文件实际操作的五大步骤
Python读写文件在计算机语言中被广泛的应用,如果你想了解其应用的程序,以下的文章会给你详细的介绍相关内容,会你在以后的学习的过程中有所帮助,下面我们就详细介绍其应用程序. 一.打开文件 Pytho ...
- python基础--文件的操作
#r w a 文件读取操作 默认打开为读操作 #f=open('coldplay.txt','r',encoding="utf-8")#open函数默认已系统编码方式打开windo ...
随机推荐
- RXJS Observable的冷,热和Subject
一.Observable的冷和热 Observable 热:直播.所有的观察者,无论进来的早还是晚,看到的是同样内容的同样进度,订阅的时候得到的都是最新时刻发送的值. Observable 冷:点播. ...
- 搭建 eclipse,maven,tomcat 环境
1,安装jdk 2,安装eclipse,可以写java程序 3,安装tomcat,可以写简单的web页面 4,安装maven,再eclipse中可以构建maven管理的java程序 5,将maven程 ...
- Istio 是什么?
使用云平台可以为组织提供丰富的好处.然而,不可否认的是,采用云可能会给 DevOps 团队带来压力.开发人员必须使用微服务以满足应用的可移植性,同时运营商管理了极其庞大的混合和多云部署.Istio 允 ...
- 我们为什么不用 Select * 吗?
应用程序慢如牛,原因多多,可能是网络的原因.可能是系统架构的原因,还有可能是数据库的原因. 那么如何提高数据库SQL语句执行速度呢?有人会说性能调优是数据库管理员(DBA)的事,然而性能调优跟程序员们 ...
- python3.X中try/except
包含try...except...在3.x版本中与2.x版本中的用法差异. 1.先说差异: 在2.x的python中用法实例: try: ...... except Exception,e: rais ...
- Tomcat 配置文件server.xml详解
前言 Tomcat隶属于Apache基金会,是开源的轻量级Web应用服务器,使用非常广泛.server.xml是Tomcat中最重要的配置文件,server.xml的每一个元素都对应了Tomcat中的 ...
- 3dmax 笔记本电脑
一般来说,苹果MacBook系列适合运行3ds Max. 3ds Max是一款大型图像处理软件,对电脑硬件要求高.在所有MacBook系列中,配备Retina屏幕的MacBook Pro 15寸是最佳 ...
- UI框架
一,框架构成:目录分别有bin,lib,page,report,test_case,(百度网盘) 1.bin>run.py 2.lib>HTMLTestRunner.py lib>l ...
- error C2371: 'IServiceProvider' : redefinition; different basic types
需要将#include <windows.h>放到using namespace System;前面. #include <windows.h>using namespace ...
- HTML入门10
目前,掌握了图像,视频和音频的嵌入,下面来谈iframe和embed.object嵌入网页, 嵌入简史,刚开始流行用嵌入框架然后不同部分显示i不同内容,可以解决下载速度慢时的问题: 慢慢的插件技术流行 ...