总结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]文件内容 前面的话 在程序运行时,程序本身和数据一般都存在内存中,当 ...
随机推荐
- Vue SPA应用中使用Layer的iframe 弹出层,并且传值
问题来源: BOOS 竟然说喜欢有可移动可最大化的弹出层,这!!! SPA 模式下就是这种引入Vue.js的写法 layer.open({ type: , area: ['840px', '550px ...
- tomcat 403 forbidden
server.xml和tomcat-users.xml都是设置于过了,还是403,最后发现context.xml中多了一行 <Valve className="org.apache.c ...
- Qt's Undo Framework
Overview of Qt's Undo Framework Introduction Qt's Undo Framework is an implementation of the Command ...
- mysql查询赋值、修改拼接字符串
sql中修改字符串类型的字段可以这么拼接:update tbName set UserName='abc'+UserName; 但mysql中就不行了,需要这样:update tbName set U ...
- 在MS Test中如何测试private方法
前言: 在博客开始之前,我们先讨论一下是否应该对private方法做测试,通常有两种观点: private方法应该被测试: private方法不应该被测试: 我们以下面的代码为例子来进行说明: pub ...
- firefox快速刷新error及解决办法
问题: 测试发过来bug,说——频繁F5刷新页面,会闪现未加载完样式的页面: 开发用的Chrome,没发现这个问题,测试用的firefox,于是从浏览器的刷新加载机制方面搜索解决办法,没搜到,运 ...
- JSP中的一个树型结构
看方力勋的javaWeb,采用左右值来表示树型结构(就是俺门的多级分类)表结构 页面代码 <%@ page language="java" import="java ...
- vue2.0 #$emit,$on的使用
首先实例化: bus.js import Vue from 'Vue' export default new Vue() 组件1, import bus from '../../assets/js/b ...
- ios中改变UIImagePickerController页面的button的文字为中文
可以在工程中直接 project-->info-->Localization native development region 赋值为 zh_CN
- Shell编程-03-Shell中的特殊变量和扩展变量
目录 特殊变量 变量扩展 特殊变量 在Shell中的特殊变量主要分别两种位置参数变量.状态变量两种. 位置参数变量 Shell中的位置参数变量主要是指$0.$1.$#等,主要用于从命令 ...