全部的编程语言都一样,学完了一些自带的数据机构后,就要操作文件了。

文件操作才是实战中的王道。

所以,今天就来分享一下Python中关于文件的一些基本操作。

open方法

文件模式

这个模式对于写入文件非常重要。

r   读模式
w 写模式
a 追加模式
b 二进制模式
+ 读写模式

缓冲

open函数的第三个參数

0             I/O无缓冲
1 I/O有缓冲
大于1 缓冲大小。字节为单位
-1 使用默认缓冲区大小

读和写

f = open('somefile.txt', 'w')
f.write('Hello. ')
f.write('World!')
f.close()

完毕对文件的操作。记得要close。

f = open('somefile.txt', 'r')
f.read(4)
'Hell'
f.read()
'o, World!'

莞式输出(管式输出)

样例,统计单词数目:

import sys
text = sys.stdin.read()
words = text.split()
wordcount = len(words)
print 'Wordcount:', wordcount

最后介绍一下,什么是二进制文件:

定义

广义的二进制文件即指文件,由文件在外部设备的存放形式为二进制而得名。狭义的二进制文件即除文本文件以外的文件。文本文件是一种由非常多行字符构成的计算机文件。

文本文件存在于计算机系统中,通常在文本文件最后一行放置文件结束标志。文本文件的编码基于字符定长,译码相对要easy一些;二进制文件编码是变长的,灵活利用率要高,而译码要难一些,不同的二进制文件译码方式是不同的。

从本质上来说他们之间没有什么区别。由于他们在硬盘上都有一种的存放方式–二进制,可是假设要对他们有些区分的话,那能够这样理解。每一个字符由一个或多个字节组成,每一个字节都是用的-128—127之间的部分数值来表示的,也就是说,-128——127之间另一些数据没有相应不论什么字符的不论什么字节。

假设一个文件里的每一个字节的内容都是能够表示成字符的数据,我们就能够称这个文件为文本文件,可见,文本文件仅仅是二进制文件里的一种特例,为了与文本文件相区别,人们又把除了文本文件以外的文件称为二进制文件,由于非常难严格区分文本文件和二进制文件的概念,所以我们能够简单地觉得,假设一个文件专门用于存储文本字符的数据,没有包括字符以外的其它数据,我们就称之为文本文件。除此之外的文件就是二进制文件。

为什么要使用二进制文件。原因大概有三个:

  第一是二进制文件比較节约空间,这两者储存字符型数据时并没有区别。可是在储存数字,特别是实型数字时,二进制更节省空间,比方储存 Real*4 的数据:3.1415927。文本文件须要 9 个字节,分别储存:3 . 1 4 1 5 9 2 7 这 9 个 ASCII 值。而二进制文件仅仅须要 4 个字节(DB 0F 49 40)

  第二个原因是。内存中參加计算的数据都是用二进制无格式储存起来的,因此,使用二进制储存到文件就更快捷。假设储存为文本文件,则须要一个转换的过程。在数据量非常大的时候,两者就会有明显的速度区别了。

  第三,就是一些比較精确的数据,使用二进制储存不会造成有效位的丢失

最新文章

  1. Jexus 5.8.2 Beta1发布:为Asp.Net Core进入生产环境提供平台支持
  2. 使用WebKit.net加载HTML编辑器
  3. css布局之三列布局
  4. saltstack通过salt.client执行命令(转)
  5. vm 负责虚拟机出现“”适配器 的mac地址在保留地址范围内‘’
  6. 【自动化测试】Selenium excel操作
  7. PID参数整定快速入门(调节器参数整定方法)
  8. Debug of bash , perl and python
  9. A==?B(A,B超级大)
  10. [原创] 小而美 | Mac上鲜为人知,但极大提升效率的小工具
  11. Stack-based buffer overflow in acdb audio driver (CVE-2013-2597)
  12. linux下安装部署环境:jdk、tomcat、nginx
  13. ngx_string()错误分析
  14. C++11 线程并发
  15. python中的import,reload,以及__import__
  16. 【转】基于Ubuntu Server16.04 安装Odoo11
  17. go语言进阶之为结构体类型添加方法
  18. archer 安装
  19. 根据 plist 还原 图片
  20. python3----输出所有大小写字母及数字

热门文章

  1. PHP无符号右移与旋转右移
  2. 自定义样式 dialog
  3. html5 页面音频
  4. 并发编程学习笔记(10)----并发工具类CyclicBarrier、Semaphore和Exchanger类的使用和原理
  5. BZOJ1509: [NOI2003]逃学的小孩 (树形DP)
  6. Python学习之LeetCode刷题之路——简单题【1、7、9】
  7. ibatis常用16条SQL语句
  8. replace、replaceAll、replaceFirst
  9. 简单的jsonp实现跨域原理
  10. springmvc视图解析