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学习笔记六--文件和输入输出的更多相关文章

  1. python学习笔记(六)---文件操作与异常处理机制

    文件读取 读取整个文件 要读取文件,需要一个包含几行文本的文件.下面首先来创建一个文件,它包含精确到小数点后30位的圆周率值,且在小数点后每10位处都换行: pi_digits.txt 3.14159 ...

  2. Python学习笔记六

    Python课堂笔记六 常用模块已经可以在单位实际项目中使用,可以实现运维自动化.无需手工备份文件,数据库,拷贝,压缩. 常用模块 time模块 time.time time.localtime ti ...

  3. Python学习笔记之文件处理

    1.打开和关闭 要打开文件可以使用函数 open(),它位于自动导入模块 io 中.函数将文件名作为唯一不可缺少的函数,并返回一个文件对象.它还有一个名叫 mode 的参数,用于指定文件模式,其可取值 ...

  4. [Python学习笔记]组织文件

    shutil 模块 shutil 模块可以让我们很方便的在Python程序中复制.移动.改名和删除文件. 复制文件和文件夹 使用shutil.copy()来复制文件,该函数含两个参数,均为字符串格式的 ...

  5. python学习笔记(11):文件的访问与函数式编程

    一.文本文件读写的三种方法 1.直接读入 file1 = open('E:/hello/hello.txt') file2 = open('output.txt','w') #w是可写的文件 whil ...

  6. Python学习笔记015——文件file的常规操作之一(文本文件)

    1 什么是文件 文件是用于数据存储的单位 文件通常用来长期保存数据 读写文件是最常见的I/O操作.Python内置了读写文件的函数,用法和C是兼容的. 读写文件的功能都是由操作系统提供的,一般而言,操 ...

  7. python学习笔记(7)文件的访问与函数式编程

    一.文件读写的3中方法 1.直接读入 fiel1=open('test.txt') file2=open('output.txt') while True: line=file1.readLine() ...

  8. Python学习笔记015——文件file的常规操作之三(标准输入输出文件)

    1 标准输入输出文件 在Python中,模块sys中含有标准的输入输出文件 sys.stdin     标准输入方法(一般是键盘) sys.stdout   标准输出方法(到显示器的缓冲输出) sys ...

  9. Python学习笔记六:文件处理

    一:打开文件 open(name,mode,[bufferSize]) name:文件路径 mode:文件打开方式 二:文件读取 read()方法:可以一次读取文件的全部内容,Python把内容读到内 ...

随机推荐

  1. android下隐藏标题栏

    最近在开发android,遇到一个问题标题栏影响美观,查了很多网上方法. 用到了方法一: requestWindowFeature(Window.FEATURE_NO_TITLE); 虽然一直强调要在 ...

  2. 外星人的供给站 (区间覆盖 t贪心)

    /** 区间覆盖问题 分析: 每个点可以确定两个圆心 圆心的范围形成 一个区间 在这个区间上以任意一点画圆便可将此点 包含在内 如果有两个点所确定的区间相交了 说明这两个点可以用一个圆包含在内 即用一 ...

  3. Web项目初始化过程

    在启动Web项目时,容器(比如Tomcat)会读web.xml配置文件中的两个节点<listener>和<contex-param>. 接着容器会创建一个ServletCont ...

  4. 移动端转PC --> PC跳转移动端

    <script type=”text/javascript”>try {var urlhash = window.location.hash;if (!urlhash.match(“fro ...

  5. HDU 4628 多校第三场1008 dp

    这题就没什么好说的了.直接枚举2 ^ 16 的状态,用1表示拿这位,0表示不拿,每次判断是否可以这么拿. #include <iostream> #include <cstdio&g ...

  6. 阿里云服务器[教程3]一键安装php+mysql+ftp+nginx环境

    直接看地址 http://help.aliyun.com/manual?spm=0.0.0.0.F5PPZs&helpId=129

  7. Codeforces Round #258 (Div. 2)[ABCD]

    Codeforces Round #258 (Div. 2)[ABCD] ACM 题目地址:Codeforces Round #258 (Div. 2) A - Game With Sticks 题意 ...

  8. <<java 并发编程>>第七章:取消和关闭

    Java没有提供任何机制来安全地终止线程,虽然Thread.stop和suspend等方法提供了这样的机制,但是存在严重的缺陷,应该避免使用这些方法.但是Java提供了中断Interruption机制 ...

  9. Linux禁止ping服务

    ping是一个通信协议,是ip协议的一部分,tcp/ip 协议的一部分.利用它可以检查网络是否能够连通,用好它可以很好地帮助我们分析判定网络故障.应用格式为:Ping IP地址.但服务启用ping有时 ...

  10. Java基础知识强化之IO流笔记08:异常的注意事项

    1. 异常注意事项: (1)子类重写父类方法时候,子类的方法必须抛出相同的异常或者父类异常的子类.(父亲坏了,儿子不能比父亲更坏) (2)如果父类抛出多个异常,子类重写父类时候,只能抛出相同的异常或者 ...