总结day7 ---- 文件操作,读,写,追加,以及相关方法
内容大纲
一:文件的基本操作,
>常见问题
>encoding
>绝对路径和相对路径的
二:文件的读写追加相关操作
>读(r, r+ ,rb,r+b)
>写(w,w+,wb,w+b)
>追加(a,a+,ab,a+b)
三:文件相关的操作方法
四:文件的常规修改方式
一:文件的基本操作,
>常见问题
>>1 文件路径错误,比如 \把需要的内容转意了 比如\a \n'
解决方法,在字符串前面增加r
# with open('f:\a.txt','r',encoding='utf-8') as f:
# f.read()
# OSError: [Errno 22] Invalid argument: 'f:\x07.txt'
# with open(r'f:\a.txt','r',encoding='utf-8') as f:
# f.read()
>encoding
encoding的作用只是强调,
>绝对路径和相对路径的
>>1 绝对路径:指的是具体到哪个文件夹的文件
>>2 相对路径:指的是当前操作的文件夹的目录地址
二:文件的读写追加相关操作
>读(r, r+ ,rb,r+b)
>r 读, read() 返回str # read( 字符) 1 代表一个字符.2 带表两个字符
readline() 返回str
readlines() 返回list
for 变量 i 句柄 : 返回str 如果文件很大需要使用for 循环,这样不会造成内容消耗
# 4 读 (r ,rb ,r+ r+b)
# with open('1.txt','r',encoding='utf-8') as f:
# contect =f.read()
# print(contect)
# with open('1.txt','r',encoding='utf-8') as f:
# contect =f.read()
# print(contect)
# with open('f:/msg.jpg','rb') as f:
# contect =f.read()
# print(contect)
#读写, 需要先读在写,如果先写在读的情况下需要,调整光标的位置
# 利用seek() 调整光标位置. (0)代表开头 (0,2)代表结尾
# with open('1.txt','r+',encoding='utf-8') as f :
# f.write('汉子')
#
# l =f.read()
# print(l)
>写(w,w+,wb,w+b)
write()
>追加(a,a+,ab,a+b)
如果有源文件,那么就在文件后面追加内容, 如果没有内容那么就新创建文件
#5 追加模式 a # 本身的内容不删除,只是在最后增加
#如果没有这个文件夹,那么则创建文件,有的话则追加内容
# with open('1.txt','a',encoding='utf-8') as f:
# f.write('这是追加的内容')
三:文件相关的操作方法
# readable 判断这个文件是否可以读
# writable 判断这个文件是不是可写
# flush 强制保存, 相当于Ctrl+s
# tell 返回光标位置
# seek 调整光标位置 有两个参数 ,第一参数是光标位置,第二个1 中间 (0,2)是末尾
# truncate 截断内容. 打印截断之前的内容, 按照字节截断 只能在写的模式下进行 进行,'w' 下没有意义
四:文件的常规修改方式
# 5把新文件名字修改成旧文件
import os
with open('1.txt','r',encoding='utf-8') as f1 ,open('1bak.txt','a',encoding='utf-8') as f2:
old_contect =f1.read()
new_contect =old_contect.replace('a','好吃')
f2.write(new_contect)
os.remove('1.txt')
os.rename('1bak.txt','1.txt') 用for 循环可以 可降低内存消耗. with open('1.txt','r',encoding='utf-8') as f1 ,open('1bak.txt','a',encoding='utf-8') as f2:
# old_contect =f1.read()
# new_contect =old_contect.replace('a','好吃')
# f2.write(new_contect)
# for line in f1:
# new_line = line.replace('好吃','呵呵')
# f2.write(new_line)
# os.remove('1.txt')
# os.rename('1bak.txt','1.txt')
总结day7 ---- 文件操作,读,写,追加,以及相关方法的更多相关文章
- day9 python学习 文件的操作 读 写 seek
文件的操作 1 文件的打开操作: 文件句柄 = open('文件路径', '模式') f=open('wangyakun','a+',encoding='utf-8') #文件名, 如果是绝对路径 ...
- C# 文件操作 全收录 追加、拷贝、删除、移动文件、创建目录、递归删除文件夹及文件....
本文收集了目前最为常用的C#经典操作文件的方法,具体内容如下:C#追加.拷贝.删除.移动文件.创建目录.递归删除文件夹及文件.指定文件夹下 面的所有内容copy到目标文件夹下面.指定文件夹下面的所有内 ...
- asp.net 文件操作小例子(创建文件夹,读,写,删)
静态生成要在虚拟目录下创建文件夹 来保存生成的页面 那么就要对文件进行操作 一.创建文件夹 using System.IO; string name = "aa"; strin ...
- python基础知识-day7(文件操作)
1.文件IO操作: 1)操作文件使用的函数是open() 2)操作文件的模式: a.r:读取文件 b.w:往文件里边写内容(先删除文件里边已有的内容) c.a:是追加(在文件基础上写入新的内容) d. ...
- Python 3 利用 subprocess 实现管道( pipe )交互操作读/写通信
这里我们用Windows下的shell来举例: from subprocess import * #因为是举例,就全部导入了 为了方便你理解,我们用一个很简单的一段代码来说明: 可以看见我们利用Pop ...
- C语言之文件操作06——写数据到文本文件遇0停止
//文件 /* =============================================================== 题目:输入10个篮球运动员的身高数据(cm)保存至D盘文 ...
- day9文件操作---从即日起时景丽阳老师给我们讲课
今天的主要内容是文件的操作,读,写,只读只写,或者可读同时可写,追加写,以二进制的方式读,以二进制的方式写,以二进制的方式追加. 思维导图: 给你一个文件路径,从中找出所有的文件,方法如下: # 方法 ...
- Java学习之==>IO文件操作体系
一.概述 在整个 Java.io 中最重要的就是5个类和一个接口.5个类指的是 File.InputStream.OutputStream.Reader.Writer,一个接口指的是Serializa ...
- 前端学PHP之文件操作
× 目录 [1]文件类型 [2]文件属性 [3]目录路径[4]目录遍历[5]目录统计[6]目录增删[7]目录复制[8]文件操作[9]文件内容 前面的话 在程序运行时,程序本身和数据一般都存在内存中,当 ...
随机推荐
- 【bzoj1911】[Apio2010]特别行动队
1911: [Apio2010]特别行动队 Time Limit: 4 Sec Memory Limit: 64 MBSubmit: 4048 Solved: 1913[Submit][Statu ...
- C# 将Word,Execl,PPT,Project, 文件转成PDF, 不依赖Office!!
git 地址 https://gitee.com/bandung/Execl_WordTOPDF.git 包括了各种破解的dll Word转PDF 挨个引用 Word转PDF public void ...
- Cplus Overolad new and delete Operator
思考:在C++类中,通过设计类的构造和析构函数,就已经把复杂的内存管理起来了. 及时是简单的结构体,也是有构造和析构函数的,而下面这种情况,可以在非结构中使用. /** Operator Overlo ...
- java工具类 --千分位方法
/** * 千分位方法 * @param text * @return */ public static String fmtMicrometer(String text) { DecimalForm ...
- sqlserver 2017 linux还原windows备份时的路径问题解决
windows的备份由于路径问题,在Linux上会报错 File 'YourDB_Product' cannot be restored to 'Z:\Microsoft SQL Server\MSS ...
- IntelliJ IDEA 2017版 导入maven项目需要的包
1.选中项目,鼠标右键--->maven---->Reimport
- 程序员不常用Linux命令集
1) 关闭指定网卡,如关闭网卡eth0 ifconfig eth0 down 也可以使用ifdown,通常ifdown是一个指向ifup的软链接,而ifup为一个脚本文件. 2) 命令自启动,如希望机 ...
- MFC DestroyWindow[转]
考虑单窗口情况: 假设自己通过new创建了一个窗口对象pWnd,然后pWnd->Create.则销毁窗口的调用次序: 1. 手工调用pWnd->DestroyWindow(): 2. De ...
- Hdu1429 胜利大逃亡(续) 2017-01-20 18:33 53人阅读 评论(0) 收藏
胜利大逃亡(续) Time Limit : 4000/2000ms (Java/Other) Memory Limit : 65536/32768K (Java/Other) Total Subm ...
- ubuntu 安装 zend studio
hi,everyone!2014 年到了,是20你死还是爱你一世,世人不得而知.夜观天象,道德依旧在沦丧,经济依然在滑坡.行了,就整这几句.最近在折腾linux,这篇文章,没有什么意义.只是找找写bl ...