文件对象

python中的文件操作和c语言比较类似,包括一些缓冲、偏移量的方式。

文件对象可以通过open()、file()两个内建方法创建,两个方法并没有什么不同,使用方法和c语言中的fopen()类似:

file_object = open(file_name, access_mode=‘r’, buffering=-1)

其中access_mode表示打开方式,r表示只读,w表示只写,r+,w+表示读写,a表示追加等;buffering表示缓冲方式,负值表示默认缓冲方式,0表示不缓冲,1表示行缓冲,大于1的值表示缓冲区的大小,一般情况下使用默认缓冲即可。

在perl中经常会用到管道的方式,通过open IN,”gunzip -cd $gzfile|” or die $!; 的方式轻松实现从压缩文件中读取内容,python中也可以通过os.popen()实现管道操作,注意的是,最后一层管道的|需要省略,因为popen()默认就是从管道中读取。

文件输入:

1. read()方法,指定读取一定个数的字节到字符串中,如果不指定字节或者为负值,则读取所有的内容;

2. readline()方法,读取一行内容,如果指定的参数size小于一行长度,则只返回 size个字节到字符串中;

3. readlines()方法,会读取所有的行并且返回一个字符串列表,可选参数代表返回的最大字节数,但是仍然需要凑齐缓冲区大小;

使用迭代器,并且配合for循环和readline()方法,是比较好的输入方式:

for line in file_object.readline():
    print line 

文件输出:

1. write()方法,像文件写入字符串

2. writelines()方法,将一个字符串列表写入到文件,或者是返回字符串的可迭代对象

文件偏移量:

1. tell()方法可以返回当前在文件中的位置

2. seek(offset, whence=0)方法,移动文件中的指针,whence=0表示从文件开始位置移动offset个偏移量,1表示从当前位置移动offset个偏移量,2表示从文件末尾移动offset个偏移量

内建方法:

file.close():关闭文件句柄,并且将缓冲区的内容写入到文件中

file.fileno():返回文件描述符;

file.flush():立即刷新文件缓冲区

内建属性:

file.name:文件名,file.mode:文件打开方式,file.encoding:文件编码方式,file.closed:文件是否被关闭等

标准输入输出错误流:

sys模块中可以通过sys.stdin,sys.stdout,sys.syderr访问标准输入输出错误流,内建方法raw_input()通常从sys.stdin接收输入

sys模块还可以通过sys.argv属性来访问环境参数,argv[0]为脚本本身

文件系统

在os模块中包含操作系统功能的主要接口,包括文件的相关操作:

os.getcwd():返回当前工作目录,os.listdir():列出指定目录下的相关文件(包括子目录),chdir():改变当前目录,symlink():创建符号链接,remove():删除文件,rename():重命名文件

os.path 模块中的路径相关操作:

os.path.basename:返回文件名,dirname():返回目录名,split():返回(dirname(),basename())元组,get*time():返回各种事件,getsize()返回文件大小,exists():指定路径是否存在,isdir():是否存在指定路径且为一个目录,isfile():指定目录是否存在且为一个文件等等

其他相关模块

bz2、csv、gzip/zlib、tarfile、zipfile等

最新文章

  1. [JSP]自定义标签库taglib
  2. spring quartz 配置实现定时任务 详解
  3. spring mvc1
  4. Cookie / Session / URL重写
  5. UNIX基础知识
  6. com.mysql.jdbc.exceptions.MySQLIntegrityConstraintViolationException: Column 'goodsName' cannot be null
  7. 初始化本地项目到远程仓库【git】
  8. 敏捷测试(7)--基于story的敏捷基础知识
  9. 最详细的JavaWeb开发基础之java环境搭建(Windows版)
  10. javascript引擎执行的过程的理解--语法分析和预编译阶段
  11. Java开发笔记(三十三)字符包装类型
  12. pd.read_csv操作读取分隔符csv和text文件
  13. js,indexOf()、lastIndexOf()
  14. 深入分析tcp close与shutdown
  15. C#基础系列 - 抽象类及其方法的学习
  16. USACO 6.2 Calf Flac
  17. Highmaps网页图表教程之Highmaps第一个实例与图表构成
  18. maven指定本地的文件包
  19. Ubuntu14.04下完美安装cloudermanage多种方式(图文详解)(博主推荐)
  20. Juniper

热门文章

  1. Nginx 搭建rtmp直播服务器
  2. XAMPP重要文件目录及配置
  3. python中字母与ascii码的相互转换
  4. Java进阶(七)正确理解Thread Local的原理与适用场景
  5. quick-cocos2d-x教程1:在window上创建第一个项目文件夹,并制作helloworld
  6. 关于O(logN)的正确理解
  7. Docker for Windows 使用入门
  8. dotnetcore 自动迁移工具
  9. make工程管理器
  10. 聊聊js中的typeof