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. 安装 macbook 双系统( OS X 和 Ubuntu )

    打算 macbook 上面多安装一个 ubuntu 系统来用下.流程大致下面几步: 1. 备份重要资料 2. 划分硬盘区域用于安装 ubuntu 3. 下载 ubuntu ISO 文件,并刻录到 U ...

  2. openfire for mac 无法启动

    http://blog.csdn.net/winer888/article/details/49886281 ①:sudo chmod -R 777 /usr/local/openfire/bin ② ...

  3. 输入一个整形数组,数组里有正数也有负数。数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。求所有子数组的和的最大值。要求时间复杂度为O(n)

    群里看到这道题,用python做了做, def find(array): v_sum = greatest = 0 for a in array: v_sum += a v_sum = 0 if v_ ...

  4. 【动态页面】(二)Java反射

    Java的反射机制是Java语言非常重要的一个特性.先从Sun官网上看一下官网是怎样定义反射机制的. 大致翻译一下,翻译的可能不是非常准确. 反射(Reflection)是Java程序设计语言的一个特 ...

  5. spring mvc使用ClassPathXmlApplicationContext或FileSystemXmlApplicationContext和XmlWebApplicationContext类的操作其中 XmlWebApplicationContext是专为Web工程定制的。

    一.简单的用ApplicationContext做测试的话,获得Spring中定义的Bean实例(对象).可以用: ApplicationContext ac = new ClassPathXmlAp ...

  6. [Angular 2] Inject Service

    TypeScript is used heavily as we build up our application, but TypeScript isn’t required. If you wan ...

  7. Go语言学习笔记(一) : 搭建Windows下的Go开发环境

    最近突然对Go语言产生了兴趣,主要是因为在使用python的时候遇到了一些不爽的问题,然后发现了Go.Go是Google出的一个动态语言,语法和C++接近,性能也非常的好,而且还支持编译成exe发布, ...

  8. QT程序库

      实际上,QT不仅仅是一个巨大的程序库,而是7个程序库,还包括许多使用工具,qmake是其中的一个.如今,术语GUI工具包代表的东西的用途不再仅仅是系统提供的那么一个小部分(GUI界面).尤其是QT ...

  9. 深入分析 Java 中的中文编码问题--转

    几种常见的编码格式 为什么要编码 不知道大家有没有想过一个问题,那就是为什么要编码?我们能不能不编码?要回答这个问题必须要回到计算机是如何表示我们人类能够理解的符号的,这些符号也就是我们人类使用的语言 ...

  10. xcode6制作IOS .a静态库小记

    xcode6制作IOS .a静态库小记 创建iOS静态库 简单写个打印的代码 编码完成之后,直接Run就能成功生成.a文件了,选择 xCode->Window->Organizer-> ...