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. HDOJ 2055 An easy problem

    Problem Description we define f(A) = 1, f(a) = -1, f(B) = 2, f(b) = -2, - f(Z) = 26, f(z) = -26; Giv ...

  2. Codelab for Android Design Support Library used in I/O Rewind Bangkok session

    At the moment I believe that there is no any Android Developer who doesn't know about Material Desig ...

  3. Codeforces Round #260 (Div. 1) --B. A Lot of Games (Trie)

    B. A Lot of Games Andrew, Fedor and Alex are inventive guys. Now they invent the game with strings f ...

  4. logback logback.xml 常用配置详解

    一:根节点<configuration>包含的属性: scan: 当此属性设置为true时,配置文件如果发生改变,将会被重新加载,默认值为true. scanPeriod: 设置监测配置文 ...

  5. Linux 和 Windows 下对long long的输出

    以前一直用__int64来识别windows还是Linux,可是发现HDU好像不认 看到wzy用的UNIX可以. UNIX是Linux下定义的,具体是什么可以去百度. 那么就可以 #ifdef UNI ...

  6. Libgdx New 3D API 教程之 -- Libgdx中使用Materials

    This blog is a chinese version of xoppa's Libgdx new 3D api tutorial. For English version, please re ...

  7. jQuery Ajax 实例 具体介绍$.ajax、$.post、$.get的使用

    Jquery在异步提交方面封装的非常好.直接用AJAX非常麻烦须要处理浏览器之间的兼容问题,Jquery大大简化了我们的这些操作操作.不用在考虑浏览器这方面的问题,能够直接使用! $.post.$.g ...

  8. HDU 2066-一个人的旅行(最短路Dijkstra)

    一个人的旅行 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Sub ...

  9. Scriptcase演示程序

    为了方便大家对Scriptcase有一个非常直观的印象,现在将Scriptcase的示例程序进行了适当汉化,并且放在互联网上,您可以直接点击这个地址访问. 需要说明的是,示例程序中提供的范例,基本上都 ...

  10. codevs 1282 约瑟夫问题(线段树)

    #include<iostream> #include<cstdio> #include<cstring> #define maxn 30010 using nam ...