Python常用操作(二)之文件处理
2017-08-08 14:44
260 查看
上一篇主要讲了使用Python进行文件的读取工作,这里在此基础上对上一篇进行补充~
(1)操作文件指针可以通过seek方法:
seek(offset, whence):移动文件指针
offset:偏移量,可为负数
whence:偏移相对位置
(2)偏移相对位置为os模块当中的SEEK_SET、SEEK_CUR、SEEK_END:
os.SEEK_SET:表示文件的相对起始位置
os.SEEK_CUR:表示文件的相对当前位置
os.SEEK_END:表示文件的相对结束位置
(2)Python2在写入文件的时候经常会出现因字符转码错误而不能正常运行的问题,很多教程用到的解决办法是重载Python默认编码:
(3)上面的方法比较激进,python文件编码默认为ASCII码,如果需要进行改变的话我们可以尝试借助Python的codecs模块
参考资料:www.imooc.com(慕课网)
文件处理操作
一、使用迭代器访问文件
f = open("haha.txt") iter_f = iter(f) //迭代器 lines = 0 for line in iter_f: lines += 1 print 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') #首先先创建一个文件对象,打开方式为w print 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 sys reload(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模块
os方法 | 说明 |
---|---|
os.access(path, mode) | 判断文件权限F_OK, R_OK ,W_OK, X_OK |
os.listdir(path) | 返回当path路径下所有文件名组成的列表 |
os.remove(path) | 删除文件 |
os.rename(old, new) | 修改文件或者目录名 |
os.mkdir(path[, mode]) | 创建目录 |
os.makedirs(path[, mode]) | 创建多级目录 |
os.removedirs(path) | 删除多级目录 |
os.rmdir(path) | 删除目录(目录必须空目录) |
os.path方法 | 说明 |
---|---|
os.path.exists(path) | 当前路径是否存在/也可以判断是否有该文件 |
os.path.isdir(s) | 是否是一个目录 |
os.path.isfile(path) | 是否是一个文件 |
os.path.getsize(filename) | 返回文件大小/返回目录文件大小 |
os.path.dirname(p) | 返回路径的目录 |
os.path.basename(p) | 返回路径的文件名 |
相关文章推荐
- python 异常处理、文件常用操作
- Python常用文件/文件夹操作
- Basic_Python常用文件操作参考(转)
- Python文件或目录操作的常用函数
- Python脚本控制的WebDriver 常用操作 <十五> 处理Navigation Bar
- python的文件操作与异常处理
- Python常用文件操作参考
- Python脚本控制的WebDriver 常用操作 <十三> 处理button group层的定位
- Python图像处理常用操作技巧总结
- python常用的文件目录操作函数
- Python 常用文件及目录操作
- Python脚本控制的WebDriver 常用操作 <二十七> 文件下载
- python3 常用模块(时间、os路径及文件操作、字符串比较,文件内容比较等模块)
- Python脚本控制的WebDriver 常用操作 <十六> 处理对话框
- Python 读取键盘输入字符,多线程操作,文件操作随机处理 开发范例
- Python文件或目录操作的常用函数
- 文件操作之常用处理
- [转]python常用文件及目录操作
- Python脚本控制的WebDriver 常用操作 <二十六> 上传文件
- PYTHON文件操作常用函数