Python学习笔记六--文件和输入输出
6.1文件对象
所有Python对文件的操作都是基于对文件对象的操作。那么就从文件对象的创建说起。open()[file()]提供初始化输入输出的接口。open()成功打开文件时会返回一个文件对象。
open()方法的语法:
file_object=open(filename,access_mode,buffering)
filename,表示要打开的文件名的字符串,可以是相对路径也可以是绝对路径。
access_mode,表示打开方式。常见有'r'、'w'、'a',分别表示读模式,写模式,追加模式。带+表示可读可写,带b表示以二进制方式操作。
buffering表示缓冲方式,0表示不缓冲,1表示缓冲1行,大于1的值作为缓冲区的大小。
6.2文件内建方法
6.2.1输入
read()方法用来读取字节到字符串中。最多读取给定个字节,默认情况没有size参数,文件将读取到文件末尾。
readline()方法读取打开文件的一行。然后整行包括行结束符,作为字符串返回。
readlines()方法读取所有的行,然后作为字符串列表返回。
6.2.2输出
write(),与read(),readline()相反它将文本数据或二进制数据块写入文件。
writelines(),接受一个字符串列表作为参数,将他们写入文件。
6.2.3文件内移动
seek()方法,可以在文件内移动文件指针到不同位置,默认值0表示文件起始,1表示从当前位置算起,2表示文件末尾算起。
text(),他可以告诉你当前文件指针在文件的位置,从文件头算起以字节为单位。
6.3文件迭代
如果想迭代文件我们首先想到的是将文件读取到列表或者其他序列中再进行迭代。
f=open('demo.txt','r')
stringList=f.readlines()
for eachstring in stringList:
...
但事实上文件对象也是可迭代的,于是就有了:
f=open('demo.txt','r')
for eachline in f:
...
6.4
close()通过关闭文件结束对它的访问。 编程中不在引用某文件时需要关闭,别问为什么。
fileno()方法返回打开的文件描述符。常用于底层操作。
6.5文件系统
对文件的访问大多通过OS模块实现。经常用到的对文件的操作有删除\重命名文件,遍历目录树,管理文件访问权限。另一个模块os.path模块可以完成一些针对目录名的操作。下面是一些常用的函数。
6.5.1 文件操作类
mkfifo(),创建命名管道。
remove(),删除文件。
rename(),重命名文件。
utime(),更新时间戳。
walk(),生成一个目录树下所有的文件名。
2、目录/文件夹
chdir(),改变当前工作目录。
chroot(),改变的当前进程的目录。
listdir(),列出制定目录的文件。
mkdir()/makedirs(),创建目录/创建多层目录。
rmdir()/removedirs(),删除目录/删除多层目录。
3、访问/权限
access(),检验权限模式。
chmod(),改变权限模式。
umask(),设置默认权限模式。
6.5.2 os.path中的路径操作函数
1、分隔
basename(),去掉路径名返回文件名。
dirname(),去掉文件名返回路径名。
split(),返回(dirname(),basename())元组。
2、信息
getatime(),返回最近访问时间。
getctime(),返回文件创建时间。
getmtime(),返回文件修改时间。
getsize(),返回文件大小。
3、查询
exists(),指定路径是否存在。
6.6相关模块
base64,提供二进制字符串和文本字符串的编码解码操作。
bianascii,提供二进制和ASCII字符串的编码解码操作。
bz2,访问bz2格式的压缩文件。
fileinput,提供多个文本文件的行迭代器。
shutil,提供高级文件访问功能。
tarfile,读写tar归档文件,支持压缩文件。
zipfile,读写zip归档文件的工具。
Python学习笔记六--文件和输入输出的更多相关文章
- python学习笔记(六)---文件操作与异常处理机制
文件读取 读取整个文件 要读取文件,需要一个包含几行文本的文件.下面首先来创建一个文件,它包含精确到小数点后30位的圆周率值,且在小数点后每10位处都换行: pi_digits.txt 3.14159 ...
- Python学习笔记六
Python课堂笔记六 常用模块已经可以在单位实际项目中使用,可以实现运维自动化.无需手工备份文件,数据库,拷贝,压缩. 常用模块 time模块 time.time time.localtime ti ...
- Python学习笔记之文件处理
1.打开和关闭 要打开文件可以使用函数 open(),它位于自动导入模块 io 中.函数将文件名作为唯一不可缺少的函数,并返回一个文件对象.它还有一个名叫 mode 的参数,用于指定文件模式,其可取值 ...
- [Python学习笔记]组织文件
shutil 模块 shutil 模块可以让我们很方便的在Python程序中复制.移动.改名和删除文件. 复制文件和文件夹 使用shutil.copy()来复制文件,该函数含两个参数,均为字符串格式的 ...
- python学习笔记(11):文件的访问与函数式编程
一.文本文件读写的三种方法 1.直接读入 file1 = open('E:/hello/hello.txt') file2 = open('output.txt','w') #w是可写的文件 whil ...
- Python学习笔记015——文件file的常规操作之一(文本文件)
1 什么是文件 文件是用于数据存储的单位 文件通常用来长期保存数据 读写文件是最常见的I/O操作.Python内置了读写文件的函数,用法和C是兼容的. 读写文件的功能都是由操作系统提供的,一般而言,操 ...
- python学习笔记(7)文件的访问与函数式编程
一.文件读写的3中方法 1.直接读入 fiel1=open('test.txt') file2=open('output.txt') while True: line=file1.readLine() ...
- Python学习笔记015——文件file的常规操作之三(标准输入输出文件)
1 标准输入输出文件 在Python中,模块sys中含有标准的输入输出文件 sys.stdin 标准输入方法(一般是键盘) sys.stdout 标准输出方法(到显示器的缓冲输出) sys ...
- Python学习笔记六:文件处理
一:打开文件 open(name,mode,[bufferSize]) name:文件路径 mode:文件打开方式 二:文件读取 read()方法:可以一次读取文件的全部内容,Python把内容读到内 ...
随机推荐
- 调试中除了在URL上加时间戳外,如何避免js、css被返回304状态?
在本地开发环境(nginx)中,经常遇到这样的情况:调试js时浏览器总是不载入已修改的js内容,而直接吐出了上次缓存的代码. 我曾经做过以下尝试: ctrl+F5 ctrl+F5+F5+F5+F5 ...
- word 2010中如何创建多级目录和多级列表
原文地址:http://wenku.baidu.com/link?url=KkSmYTqogxA5VJkLCGb957E5fIGN5S50FUx7IpAWWWKWWRYvaeGl2IvX-dFP25r ...
- 遇到的retain cycle例子
retain cycle 会造成内存溢出,严重情况会引起崩溃.一般注意点也不会发生,但在网络连接比较多的地方就会不小心出现,vc异步的网络请求,成功后的block调用vc,如果此时,用户已经不用此vc ...
- angularJS测试一 Karma Jasmine Mock
AngularJS测试 一 测试工具 1.NodeJS领域:Jasmine做单元测试,Karma自动化完成单元测试,Grunt启动Karma统一项目管理,Yeoman最后封装成一个项目原型模板,npm ...
- 布隆过滤器的java实现
package com.kaikeba.data.jobspider.util; import java.util.BitSet; public class Bloomfilter { private ...
- motan源码分析十一:部分特性
本章将描述motan部分的特性并对源码进行分析. 1.requestid的维护,使用了当前时间左移20位,再和一个自增变量组合 public class RequestIdGenerator { ); ...
- Android xml 解析
XML 经常使用的三种解析方式: DOM: 所有载入到内存,生成一个树状结构,占用内存比較大. SAJ: 採用事件驱动,速度快,效率高,不支持回退. PULL:也是採用事件驱动,语法简洁. 步骤: 1 ...
- Linux 信号表
信号 取值 默认动作 含义(发出信号的原因) SIGHUP 1 Term 终端的挂断或进程死亡 SIGINT 2 Term 来自键盘的中断信号 SIGQUIT 3 Core 来自键盘的离开信号 SIG ...
- C#“简单加密文本器”的实现
本示例只能加密英文文本,使用的算法为异或算法.源代码:http://pan.baidu.com/share/link?shareid=3241348313&uk=1761850335(本示例属 ...
- Android中SQLite使用
现在的主流移动设备像Android.iPhone等都使用SQLite作为复杂数据的存储引擎,在我们为移动设备开发应用程序时,也许就要使用到SQLite来存储我们大量的数据,所以我们就需要掌握移动设备上 ...