Python常用操作(二)之文件处理
来源:互联网 发布:access2003数据库教程 编辑:程序博客网 时间:2024/05/01 15:50
上一篇主要讲了使用Python进行文件的读取工作,这里在此基础上对上一篇进行补充~
文件处理操作
一、使用迭代器访问文件
f = open("haha.txt")iter_f = iter(f) //迭代器lines = 0for line in iter_f: lines += 1print lines
二、文件指针
文件指针的用处是为了进行重复的读取~
(1)操作文件指针可以通过seek方法:
seek(offset, whence):移动文件指针
offset:偏移量,可为负数
whence:偏移相对位置
(2)偏移相对位置为os模块当中的SEEK_SET、SEEK_CUR、SEEK_END:
os.SEEK_SET:表示文件的相对起始位置
os.SEEK_CUR:表示文件的相对当前位置
os.SEEK_END:表示文件的相对结束位置
import os #导入os模块f = open('123456789.txt') #首先先创建一个文件对象,打开方式为wprint f.read(3) #用read()方法读取并打印print f.tell() #打印出文件指针的位置f.seek(0, os.SEEK_SET) #用seek()方法操作文件指针(把文件指针移到文件起始位置并移动0)print f.read(3) #用read()方法再次读取并打印print f.tell() #打印出文件指针的位置f.close() #关闭文件#打印结果:123# 3# 123# 3
三、文件编码方式
(1)编码转换时,通常需要以unicode作为中间编码,即先将其他编码的字符串解码(decode)成unicode,再从unicode编码(encode)成另一种编码。
(2)Python2在写入文件的时候经常会出现因字符转码错误而不能正常运行的问题,很多教程用到的解决办法是重载Python默认编码:
import sysreload(sys)sys.setdefaultencoding('utf8')
(3)上面的方法比较激进,python文件编码默认为ASCII码,如果需要进行改变的话我们可以尝试借助Python的codecs模块
# 打开文件import codecs with codecs.open('/cxt/gbk.txt', 'r', 'gbk') as f: f.read() # u'\u6d4b\u8bd5' # 以gbk编码打开文件/cxt/gbk.txt,读取后直接自动转换成python内部的unicode编码。# 写入文件f = codecs.open('file', 'w', 'utf-8')f.write('something')f.close()
四、os模块
参考资料:www.imooc.com(慕课网)
阅读全文
0 0
- Python常用操作(二)之文件处理
- 文件操作之常用处理
- python 对文件常用的操作(二)
- python学习(二)之文件处理与错误异常
- Python起步之文件处理操作
- python 文件操作(二)
- Python 文件操作(二)
- python常用操作样例-文件处理、代理请求
- python常用文件操作
- python常用文件操作
- python文件常用操作
- Python文件操作二
- python常用功能介绍之二:异常处理
- Python 文件操作常用操作
- python操作处理Excel文件(转)
- 小白学Python(二) 基本文件操作
- PHP 文件处理常用操作
- Python全栈之路:文件file常用操作
- 获取资源文件, Android res getIdentifier
- 阿里云OSS上传thinkphp
- seg_accuracy_layer.cpp
- [hadoop+spark+python]大数据实战随手笔记
- windows7+caffe 仅CPU
- Python常用操作(二)之文件处理
- 使用递归-分治方法解决汉诺塔问题
- 关于低功耗蓝牙的连接参数更新
- redis分布式缓存实现
- 系统默认路径位置
- 高性能Js—加载及执行
- Js中将字符串转为对象或数组的方法
- nginx:[emerg] bind<>to 0.0.0.0:80 failed <10013: An attempt was made to access a s ocket
- 安卓播放器资源记录