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. Azkaban2配置过程

    Azkaban2配置过程 azkaban2所需环境:jdk1.6.ant.jetty.hadoop.ssl证书 通过http://azkaban.github.io/azkaban2/download ...

  2. tomcat中debug启动和start启动的区别

    debug启动tomcat:修改代码不加方法,不加参数,只是单纯的修改方法,不用重启tomcat(热部署). start启动tamcat:修改代码需要重启tomcat.

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

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

  4. SSH动态查询封装接口介绍

    SSH动态查询封装接口介绍 1.查询记录总条数 public int count(Class c,Object[][] eq,Object[][] like,String[] group,String ...

  5. ECLIPSE里面SVN图标消失,文件状态不显示问题

    ECLIPSE里面SVN状态图标消失,重新启动eclipse,重新导入工程也不能显示SVN状态图标.这多半是由于之前eclipse没有正常关闭引起的. 解决办法2个: 方法一:1. 在Window&g ...

  6. axf、elf文件转换成bin、hex脚本工具

    在嵌入式开发过程中常常遇到将axf或elf文件转换成bin的情况,大家都知道通过gnu toolchain中的objcopy和keil中的fromelf能做到.可是为了这么一个小事而记住复杂的选项以及 ...

  7. Git和Github的应用与命令方法总结

    title: Git和Github的应用与命令方法总结 date: 2016-07-11 14:03:09 tags: git/github [本文摘抄自微信公众平台:AndroidDeveloper ...

  8. redis 多实例配置

    (redis的安装, 配置, 登陆等基础不再多说, 网上很多资料的, 这里只说个人对redis多实例的理解与配置) 我自己使用的redis版本是 2.8.13, 环境是 ubuntu 个人对多实例的理 ...

  9. MyBatis 学习总结(一)

    1.原生JDBC(Java database connectity)操作数据库(以MySQL数据为例)步骤 1.1 加载驱动 Class.forName("com.mysql.jdbc.Dr ...

  10. 9.13noip模拟试题

    题目名称 “与” 小象涂色 行动!行动! 输入文件 and.in elephant.in move.in 输出文件 and.out elephant.in move.in 时间限制 1s 1s 1s ...