Python基础、文件处理
一、概述
Python中操作文件是通过file对象来处理的,步骤:
- 指定文件的路径、操作的模式
- 对文件进行操作,读或写操作
- 关闭文件对象
f = open( '文件路径','访问模式') # 打开文件句柄
//可以用 open和 file来打开文件,open调用的是file,建议使用open函数:
文件路径: 可以是相对或者绝对路径,如不存在的时候会抛异常(IOError)
访问模式:
r # 只读不能写 (默认),指针在文件的头部 postion=0 r+ # 可读写,写的时候指针在文件的头部 postion=0 a # 追加写,不能读, 文件不存在会创建文件 a+ # 可读写,追加写,文件不存则创建 w # 可写不能读,先清空文件在写入内容,文件不存在则创建 w+ # 可写读,先清空文件在写入内容,文件不存在则创建
常用的方法:
f.read(size) # 一次性将内容全部读到内存里面,也可指定size大小,返回string类型(换行符) f.readline() # 一行一行的读,返回string类型(换行符) f.readlines() # 每行是个sting,全部读完,返回一个list r.write ('内容') # 写文件 f.writeline('内容') # 一行一行的写,比w多了换行 f.flush() # 将文件内容从内存刷到磁盘,不应频繁使用 f.seek() # offset,设置偏移量,也就是postion的位置 f.tell() # 返回当前模式下的文件处于的position f.truncate(size) # 截断,默认从当前的postion截断,也可以指定size bytes来截断;从哪个postion截断就是后面的内容都不要,只能在写的模式下才能用 f.close() # 操作完成后都需要关闭文件操作,注意
//文件操作完成后请一定要使用close()方法关闭文件句柄
二、with
with方法是一种安全操作文件的方式,可以管理文件上下文,确保文件无论正确打开与否都close()对象,在python2.7以后还可以同时打开多个文件句柄.
文件处理建议使用with的方法
with open('testfile') as f: print f.read() #所有的行是一个字符串
文件迭代,如果一个文件很大,建议使用迭代的方式
with open('testfile') as f: for line in f: # f是一个可迭代的对象 print line,
同时打开两个文件,将内容替换
with open('testfile') as f, open('testfile1','w') as f1: for line in f: lines = line.replace('root', 'new_root') # 将文件内容修改写如另一个文件,源文件内容不变,可以用做修改文件内容时备份的场景 f1.write(lines)
with方式进行文件处理等同于:
try: f = open('testfile') finally: # 异常清理 f.close()
总结:
- 操作文件尽量使用迭代的方式
- 尽量使用with的方式管理文件对象的上下文
Python基础、文件处理的更多相关文章
- python 基础-文件读写'r' 和 'rb'区别
原文链接: python基础-文件读写'r' 和 'rb'区别 一.Python文件读写的几种模式: r,rb,w,wb 那么在读写文件时,有无b标识的的主要区别在哪里呢? 1.文件使用方式标识 'r ...
- Python基础--文件操作和集合
这篇博客来说一下python对文件的操作. 对文件的操作分三步: 1.打开文件获取文件的句柄,句柄就理解为这个文件 2.通过文件句柄操作文件 3.关闭文件. 现有以下文件file.txt: 我们哭了 ...
- python基础--文件操作实现全文或单行替换
python修改文件时,使用w模式会将原本的文件清空/覆盖.可以先用读(r)的方式打开,写到内存中,然后再用写(w)的方式打开. 替换文本中的taste 为 tasting Yesterday whe ...
- python基础-文件操作
一.文件操作 打开文件时,需要指定文件路径和以何等方式打开文件,打开后,即可获取该文件句柄,日后通过此文件句柄对该文件操作. 打开文件的模式有: r ,只读模式[默认模式,文件必须存在,不存在则抛出异 ...
- python基础 - 文件读写
完成功能: 从指定位置读文件到控制台 #! /usr/bin/python # coding=utf- 方法一. try: f = open ('/root/python/file/001.txt', ...
- python基础-文件操作(10)
一.什么是文件 等等这些都叫做文件,各种格式的.但不仅仅限制于这些. 二.文件的作用 大家应该听说过一句话:“好记性不如烂笔头”. 不仅人的大脑会遗忘事情,计算机也会如此,比如一个程序在运行过程中用了 ...
- 第3章 Python基础-文件操作&函数 文件操作 练习题
一.利用b模式,编写一个cp工具,要求如下: 1. 既可以拷贝文本又可以拷贝视频,图片等文件 2. 用户一旦参数错误,打印命令的正确使用方法,如usage: cp source_file target ...
- python基础----文件处理
一.文件处理流程 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 正趣果上果 Interesting fruit fruit 词:郭婞 曲:陈粒 编曲/混音/和声:燕池 萧: ...
- python基础-文件处理与函数
1. 文件处理 1.1 文件处理流程 1.打开文件,得到文件句柄并赋值给一个变量 2.通过句柄对文件进行操作 3.关闭文件 1.2 文件读取模式r r文本模式的读,在文件不存在,不会创建新文件 f = ...
- Python基础——文件操作
写文件 writefile %%writefile ./data/testFile.txt hello python jin tian tian qi bu cuo open覆盖 txt=open(' ...
随机推荐
- BZOJ 3339 & 莫队+"所谓的暴力"
题意: 给一段数字序列,求一段区间内未出现的最小自然数. SOL: 框架显然用莫队.因为它兹瓷离线. 然而在统计上我打了线段树...用&维护的结点...400w的线段树...然后二分查找... ...
- jsp页面中创建方法
在JSP页面中是用 <%! void function(){ } %> 这种方式可以定义函数. 如果只使用 <% //todo %> 代码块中的代码在编译时将会都被加到 sev ...
- ubifs核心对象 -- TNC和LPT
文件系统的核心问题是存储.这里面隐含2个问题:1)存储什么?2)存储到哪里?文件系统中的各种技术手段都是如何高效的解决这2个问题.ubifs用node标准化每一个存储对象,用lpr ...
- ACM 背包问题
背包问题 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 现在有很多物品(它们是可以分割的),我们知道它们每个物品的单位重量的价值v和重量w(1<=v,w< ...
- [题解]扫雷Mine
// 此博文为迁移而来,写于2015年2月6日,不代表本人现在的观点与看法.原始地址:http://blog.sina.com.cn/s/blog_6022c4720102vrft.html 1088 ...
- c 语言结构体的三种定义方式
struct 结构体名{ 成员列表: ..... }结构体变量: 结构体类型变量的定义 结构体类型变量的定义与其它类型的变量的定义是一样的,但由于结构体类型需要针对问题事先自行定义,所以结构体 ...
- js 性能基准测试工具-告别可能、也许、大概这样更快更省
平时写js经常遇到这样做是不是更快点?但又没有具体简单可测试的工具,最近也倒序看博客园司徒正美 js分类下的文章 [ps:去年灵光一闪,发现看博客园排名前100的博客.按照文章分类倒序看是学习最快的方 ...
- [友盟微博分享]does not contain bitcode. You must rebuild it with
1.我的 Xcode 明明打开了 bitcode 了,为什么还会报错呢?挺奇怪的. 2.上网一查,才知道,友盟需要 bitcode,Xcode 不支持,只要关闭bitcode就可以 了. 3.其实我也 ...
- GNU for x86汇编语法
作者:冯老师,华清远见嵌入式学院讲师. 译自“Using as The GNU Assembler January 1994”. 参考Tornado随机文档“GNU Toolkit User's Gu ...
- Flex Flash Player回声消除的最佳方法
Adobe Flash Player 已经成为音频和视频播放的非常流行的工具.实际上,目前大多数因特网视频均使用 Flash Player观看. Flash Player 通过将许多技术进行组合可以提 ...