python—文件处理
一、文件处理流程
1、打开文件,得到文件句柄并赋值
2、通过句柄对文件进行操作
3、关闭文件
二、文件打开模式
1、r,只读,默认模式
2、w,只写
3、a,追加
4、 r+、w+、x+、a+ ,可读可写
## 模式 r—只读 默认只读 f = open('冲鸭','r',encoding='utf-8') data = f.read()
print(data) ## 是否可读,返回布尔
print(f.readable()) # 一次读一行
print('第一行',f.readline())
print('第二行',f.readline()) ## 一次读出多行,放在一个列表中
print(f.readlines()) ## ['人家刚刚就很尴尬法规和\n', 'wefrdferwfer'] f.close()
## 模式 w—只写
## 若文件存在,清空文件
## 若文件不存在,运行后新建文件
## 写的文件内容 是str类型 f = open('冲鸭','w',encoding='utf-8')
f.write('sdcdcd\n')
f.write('dsfedf\ndsdds\nsdsx\n') ## 是否可写
f.writable() ##
f.writelines(['2222\n','dsssd\n']) f.close()
## 模式 a—追加 f = open('冲鸭','a',encoding='utf-8')
f.write('写在文件最后')
f.close()
## 读取文件中真正的换行符号 \r\n
f = open('a.txt','r',encoding='utf-8',newline='')
print(f.readlines())
3、文件修改
## 修改文件内容(先读后写,覆盖文件内容) src_f = open('冲鸭','r',encoding='gbk')
data = src_f.readlines()
src_f.close() dst_f = open('冲鸭','w',encoding='gbk')
dst_f.write(data[0])
dst_f.close()
4、with open .... as ... 打开方式
## 另一种打开方式
with open('冲鸭','r',encoding='gbk') as f:
print (f.read()) with open('冲鸭','r',encoding='gbk') as src_f,\
open('冲鸭_new','w',encoding='gbk') as dst_f:
data = src_f.read()
dst_f.write(data)
5、b+方式,以字节打开
## b的方式打开不能指定编码
## 字符串-----encode------》bytes
## bytes------decode-----》字符串
f = open('冲鸭','rb')
data = f.read()
print(data.decode('utf-8')) f = open('冲鸭','wb')
f.write('啦啦'.encode('utf-8'))
6、方法
f = open('a.txt','r',encoding='utf-8') ## tell() 当前光标位置
print(f.tell()) ### 0
f.readline()
print(f.tell()) ### 7 以字节方式,1个汉字3个字节,换行\r\t 2个字节 ## seek() 控制光标的移动(字节)
f.seek(3)
print(f.tell()) ## 1 ## read() 读取一个字符
print(f.read(1))
## truncate() 截取(字节方式) 不能以w+方式打开,会清空文件
f = open('a.txt','r+',encoding='utf-8')
f.truncate(10)
7、seek()方法:移动光标
## seek() 移动光标位置
## seek(10,n) 10--移动10个字节位置,换行\r\t 是2个字节
## n—0,默认从开头开始;1—从当前光标位置开始;2—从结尾开始
f = open('a.txt','rb')
print(f.tell())
f.seek(-10,2)
print(f.tell())
f = open('a.txt','rb') ## 循环文件方式
for i in f:
print(i.decode('utf-8')) ## 读取文件最后一行
## 循环文件方式
for i in f:
offs = -10
while True:
f.seek(offs,2)
data = f.readlines()
if len(data) > 1:
print('文件最后一行的内容为:',data[-1].decode('utf-8'))
break
offs *= 2
python—文件处理的更多相关文章
- Linux下Python 文件内容替换脚本
Linux下Python 文件替换脚本 import sys,os if len(sys.argv)<=4: old_text,new_text = sys.argv[1],sys.argv[2 ...
- 【Python文件处理】递归批处理文件夹子目录内所有txt数据
因为有个需求,需要处理文件夹内所有txt文件,将txt里面的数据筛选,重新存储. 虽然手工可以做,但想到了python一直主张的是自动化测试,就想试着写一个自动化处理数据的程序. 一.分析数据格式 需 ...
- Python文件使用“wb”方式打开,写入内容
Python文件使用"wb"方式打开,写入字符串会报错,因为这种打开方式为:以二进制格式打开一个文件只用于写入.如果该文件已存在则将其覆盖.如果该文件不存在,创建新文件. 所以写入 ...
- Python 文件操作函数
这个博客是 Building powerful image classification models using very little data 的前期准备,用于把图片数据按照教程指示放到规定的文 ...
- python文件I/O(转)
Python 文件I/O 本章只讲述所有基本的的I/O函数,更多函数请参考Python标准文档. 打印到屏幕 最简单的输出方法是用print语句,你可以给它传递零个或多个用逗号隔开的表达式.此函数把你 ...
- python 文件操作总结
Python 文件I/O 本章只讲述所有基本的的I/O函数,更多函数请参考Python标准文档. 打印到屏幕 最简单的输出方法是用print语句,你可以给它传递零个或多个用逗号隔开的表达式.此函数把你 ...
- Python基础篇【第2篇】: Python文件操作
Python文件操作 在Python中一个文件,就是一个操作对象,通过不同属性即可对文件进行各种操作.Python中提供了许多的内置函数和方法能够对文件进行基本操作. Python对文件的操作概括来说 ...
- python文件和元组
python文件操作 相较于java,Python里的文件操作简单了很多 python 获取当前文件所在的文件夹: os.path.dirname(__file__) 写了一个工具类,用来在当前文件夹 ...
- Python文件基础
===========Python文件基础========= 写,先写在了IO buffer了,所以要及时保存 关闭.关闭会自动保存. file.close() 读取全部文件内容用read,读取一行用 ...
- python文件打包格式,pip包管理
1..whl是python文件的一种打包格式, 在有些情况下,可以将文件的后缀名改为.zip并解压 2.cmd中,提示pip版本太低,先升级pip pip install --upgrade pi ...
随机推荐
- sqlite3 学习
安装sqlite: [ sqlite]$ wget http://www.sqlite.org/sqlite-3.6.16.tar.gz[ sqlite]$ tar -xzvf sqlite-3.6. ...
- HTML5画布小dome八卦图
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> & ...
- Django组件-Forms组件
Django的Forms组件主要有以下几大功能: 页面初始化,生成HTML标签 校验用户数据(显示错误信息) HTML Form提交保留上次提交数据 一.小试牛刀 1.定义Form类 from dja ...
- 在js中获取上传图片的宽度和高度
Html: <input type="file" id="MapUploadTd" onchange="getMapPictureSize(th ...
- memset函数的实现&printf函数几种输出格式的输出结果
#include<stdio.h> #include<stdlib.h> void *memmset(void *dest, int ch, int count){ void ...
- 集腋成裘-11-sql性能优化
SQL Nexus是一个用于将SQL Trace数据.性能监视日志及T-SQL输出整合进一个单独的SQL Server数据库的工具. 先决条件 开始使用SQL Nexus之前,注意下面要做的事项: 安 ...
- 64位windows8.1下安装 ImageMagick 总结
1. 安装 ImageMagick-6.7.7-Q16-x64 下载地址:http://ftp.sunet.se/pub/multimedia/graphics/ImageMagick/binari ...
- Docker 学习6 Docker存储卷
一.什么是存储卷 二.为什么要用到数据卷 三.数据卷是怎么被管理的 四.存储卷种类 五.在容器中使用存储卷 1.只声明容器路径 [root@localhost docker]# docker run ...
- 推荐学习git
龙恩博客http://www.cnblogs.com/tugenhua0707/p/4050072.html#!comments git命令大全https://www.jqhtml.com/8235. ...
- Windows 运行命令大全,装逼必备哦!
以下已整理,以字母先后排序: appwiz.cpl:程序和功能 cliconfg:SQL SERVER 客户端网络实用工具 cmd:CMD命令提示符 comexp.msc或者dcomcnfg:组件服务 ...