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把内容读到内 ...
随机推荐
- ASP.NET MVC3 ModelState.IsValid为false的问题
模型验证通常在submit后调用Action之前进行验证,eg: public class ZhengXing { [Key] public int ZhengXin ...
- Oracle Locks之DML锁
Oracle通过锁来实现数据库的并发控制 Oracle Database automatically locks a resource on behalf of a transaction to pr ...
- spring mvc mybatis
Spring与Mybatis整合需要引入一个mybatis-spring.jar包,该整合包有Mybatis提供,可以从Mybatis官网下载. 该jar包提供了几个API: 1.SqlSession ...
- kafka Disks and Filesystem(磁盘和文件系统)
转载请注明来源地址:http://www.cnblogs.com/dongxiao-yang/p/5206631.html We recommend using multiple drives to ...
- Hard 随机选择subset @CareerCup
算法同上题 package Hard; import CtCILibrary.AssortedMethods; /** * Write a method to randomly generate a ...
- HDU-3473Minimum Sum
Problem Description You are given N positive integers, denoted as x0, x1 ... xN-1. Then give you som ...
- Android 网络框架--Retrofit
1.导入Jar包 compile 'com.google.code.gson:gson:2.8.0' compile 'com.squareup.retrofit2:retrofit:2.1.0' c ...
- [置顶] 数据持久层(DAO)常用功能–通用API的实现
在Web开发中,一般都分3层. Controller/Action 控制层, Service/Business 服务层/业务逻辑层, Dao 数据访问层/数据持久层. 在学习和工作的实践过程中,我发现 ...
- Android自动化测试之monkeyrunner工具
一.什么是monkeyrunner monkeyrunner工具提供了一个API,使用此API写出的程序可以在Android代码之外控制Android设备和模拟器.通过monkeyrunner,您可以 ...
- 多版本号并发控制(MVCC)在分布式系统中的应用
QQ群:289150599 问题 近期项目中遇到了一个分布式系统的并发控制问题.该问题能够抽象为:某分布式系统由一个数据中心D和若干业务处理中心L1,L2 ... Ln组成:D本质上是一个key-va ...