Python对文件操作知识汇总


Posted in Python onMay 15, 2016

打开文件

操作文件

1打开文件时,需要指定文件路径和打开方式

打开方式:

r:只读
w:只写
a:追加

“+”表示可以同时读写某个文件

r+:读写
w+:写读
a+:同a

U"表示在读取时,可以将 \r \n \r\n自动转换成 \n (与 r 或 r+ 模式同使用)

rU
r+U

"b"表示处理二进制文件(如:FTP发送上传ISO镜像文件,linux可忽略,windows处理二进制文件时需标注)

rb
wb
ab

f = open('test.log','r+',encoding='utf-')
f.write('saf中sdhgrbfds')
print(f.tell()) #查看当前指针位置,以字符为单位
f.seek() #指定当前指针位置,以字节为单位
print(f.read())
f.truncate() #读取指针之前的数据
print(f.tell())
f.close()

二:常见的文件运算

f = open('data', 'r') #以只读形式打开(默认就是只读)
f = open('f.txt', encoding='latin-1') #python3.0 Unicode文件
string = f.read() #把文件读入一个字符串中
string = f.read(N) #读取指针后的N个字节
string = f.readline() #读取下一行,包括行末标识符
alist = f.readlines() #读取整个文件到字符串列表
f.write() #将字符串写入文件
f.writelines() #将列表内所有字符串写入文件
f.close() #手动关闭
f.flush() #把输出缓冲区刷到硬盘中
f.seek(N) #将文件指针移到N处,以字节为单位
for line in open('data'):
print(line) #文件迭代器将文件一行行读出
open('f.txt','r').read() #read all at ance into string

三:在文件中存储并解析python对象

x,y,z = 41,42,43
s = 'spam'
D = {'a':1, 'b':2} #字典对象
L = ['a','b','c'] #列表
f = open('f.txt','w')
f.write(s + '\n')
f.write('%s,%s,%s\n'%(x,y,z))
f.write(str(D))
f.write('\n')
f.write(str(L))
f.close()
print(open('f.txt').read()) #将文件内容输出
#从文件中取出数据,并判断其类型
'''
a = fi.readline()
b = fi.readline()
c = fi.readline()
d = fi.readline()

print(a,b,c,d,type(a),type(b),type(c),type(d))
'''
# 从文件中取出数据,并转换为存储前的类型
fi = open('f.txt')
a = fi.readline().rstrip() #rstrip()去掉换行符
print(a,type(a))
b = fi.readline().rstrip().split(',') #字符串的split()方法,在括号中写入分隔符,将字符串分割为列表。
print(b,type(b))
c = fi.readline()
C = eval(c) #调用内置函数eval(),将字符串转化为可执行的python代码。
print(C,type(C),type(c))
d = fi.readline()
D = eval(d)
print(D,type(D),type(d))

以上所述是小编给大家介绍的Python对文件操作知识汇总的相关知识,希望对大家有所帮助!

Python 相关文章推荐
Python通过命令开启http.server服务器的方法
Nov 04 Python
解决Django数据库makemigrations有变化但是migrate时未变动问题
May 30 Python
python批量导入数据进Elasticsearch的实例
May 30 Python
Python实现的简单读写csv文件操作示例
Jul 12 Python
Python绘制正余弦函数图像的方法
Aug 28 Python
python调用c++传递数组的实例
Feb 13 Python
Python异步操作MySQL示例【使用aiomysql】
May 16 Python
python实现超市商品销售管理系统
Nov 22 Python
Python 爬虫性能相关总结
Aug 03 Python
Python人工智能之混合高斯模型运动目标检测详解分析
Nov 07 Python
Python实现对齐打印 format函数的用法
Apr 28 Python
python数字图像处理之图像的批量处理
Jun 28 Python
python实现SMTP邮件发送功能
Jun 16 #Python
详解Python函数作用域的LEGB顺序
May 14 #Python
python爬取51job中hr的邮箱
May 14 #Python
Phantomjs抓取渲染JS后的网页(Python代码)
May 13 #Python
python基于phantomjs实现导入图片
May 13 #Python
Python中遍历字典过程中更改元素导致异常的解决方法
May 12 #Python
Python安装使用命令行交互模块pexpect的基础教程
May 12 #Python
You might like
德生PL660的电路分析和打磨
2021/03/02 无线电
优化NFR之一 --MSSQL Hello Buffer Overflow
2006/10/09 PHP
使用PHP数组实现无限分类,不使用数据库,不使用递归.
2006/12/09 PHP
PHP使用静态方法的几个注意事项
2014/09/16 PHP
php实现TCP端口检测的方法
2015/04/01 PHP
php测试kafka项目示例
2020/02/06 PHP
JQuery 学习笔记 选择器之五
2009/07/23 Javascript
JavaScript 的方法重载效果
2009/08/07 Javascript
jQuery点击tr实现checkbox选中的方法
2013/03/19 Javascript
解决用jquery load加载页面到div时,不执行页面js的问题
2014/02/22 Javascript
js 实现浏览历史记录示例
2014/04/20 Javascript
HTML页面弹出居中可拖拽的自定义窗口层
2014/05/07 Javascript
jquery事件preventDefault()方法用法实例
2015/01/16 Javascript
JS实现漂亮的窗口拖拽效果(可改变大小、最大化、最小化、关闭)
2015/10/10 Javascript
JavaScript截取指定长度字符串点击可以展开全部代码
2015/12/04 Javascript
详解JavaScript基于面向对象之创建对象(1)
2015/12/10 Javascript
jQuery四种选择器使用及示例
2016/06/05 Javascript
用js写的一个路由(简单实例)
2016/09/24 Javascript
微信小程序 出现错误:{"baseresponse":{"errcode":-80002,"errmsg":""}}解决办法
2017/02/23 Javascript
vue-cli配置flexible过程详解
2019/07/04 Javascript
15分钟学会vue项目改造成SSR(小白教程)
2019/12/17 Javascript
详解在Vue.js编写更好的v-for循环的6种技巧
2020/04/14 Javascript
使用AutoJs实现微信抢红包的代码
2020/12/31 Javascript
Python命令行参数解析模块getopt使用实例
2015/04/13 Python
Python实现字典按照value进行排序的方法分析
2017/12/23 Python
python异常处理try except过程解析
2020/02/03 Python
Python爬虫如何应对Cloudflare邮箱加密
2020/06/24 Python
CSS3实现千变万化的文字阴影text-shadow效果设计
2016/04/26 HTML / CSS
香港网上花店:FlowerAdvisor香港
2019/05/30 全球购物
总监职责范文
2013/11/09 职场文书
国贸专业的职业规划范文
2014/01/23 职场文书
副总经理任命书
2014/06/05 职场文书
小学雷锋月活动总结
2014/07/03 职场文书
个人作风建设剖析材料
2014/10/11 职场文书
奖学金申请个人主要事迹材料
2015/11/04 职场文书
JS异步堆栈追踪之为什么await胜过Promise
2021/04/28 Javascript