参考资料:

  1. 《Python基础教程》

  2. http://www.runoob.com/python/python-files-io.html

  ▶ 键盘输入

  注意raw_input函数和input函数的区别。

  raw_input函数使用实例:

#!/usr/bin/python

str = raw_input("Input your string: ");
print "This is your input string: ", str

  input函数使用实例:

#!/usr/bin/python

str = input("Input your string: ");
print "This is your input string : ", str

  ▶ 打开和关闭文件

  open函数用于打开一个文件,创建一个file对象。

  语法如下:

file object = open(file_name [, access_mode][, buffering])

  其中,access_mode的完全列表如下:

模式 描述
r 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
rb 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。
r+ 打开一个文件用于读写。文件指针将会放在文件的开头。
rb+ 以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。
w 打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
wb 以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
w+ 打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
wb+ 以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
a 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
ab 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
a+ 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
ab+ 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。

  关于buffering,如果其值为0,不会有寄存。如果为1,会寄存。其它大于1的值,表示缓冲区的大小。负值,则寄存区的缓冲大小为系统默认。

▶ File对象

  file对象相关的属性列表如下:

属性 描述
file.closed 返回true如果文件已被关闭,否则返回false。
file.mode 返回被打开文件的访问模式。
file.name 返回文件的名称。
file.softspace 如果用print输出后,必须跟一个空格符,则返回false。否则返回true。

  

  写文件实例:

#!/usr/bin/python
# -*- coding: UTF-8 -*-
test = open("/test/test.txt", "wb")
test.write( "This is a test.\nThanks!\n"); fo.close()

  

  读文件实例:

#!/usr/bin/python
# -*- coding: UTF-8 -*- # 打开文件
test = open("/test/test.txt", "r+")
str = test.read(10);
print "The string is : ", str # 查找当前位置
position = test.tell();
print "Current file position : ", position # 重定位指针到文件开头
position = test.seek(0, 0);
str = test.read(10);
print "The string is : ", str
# 关闭打开的文件
fo.close()

  重命名文件实例(重命名test1.txt为test2.txt):

#!/usr/bin/python
# -*- coding: UTF-8 -*- import os # 重命名文件test1.txt为test2.txt。
os.rename( "test1.txt", "test2.txt" )

  

  删除文件实例(删除刚才的test2.txt):

#!/usr/bin/python
# -*- coding: UTF-8 -*- import os # 删除文件test2.txt
os.remove("text2.txt")

  ▶ 目录

  创建目录实例:

#!/usr/bin/python
# -*- coding: UTF-8 -*- import os # 创建目录test
os.mkdir("test")

  改变当前目录(类同cd命令):

#!/usr/bin/python
# -*- coding: UTF-8 -*- import os # 将当前目录改为"/home/test2"
os.chdir("/home/test2")

  

  得到当前工作目录实例:

#!/usr/bin/python
# -*- coding: UTF-8 -*- import os # 获取当前工作目录
str = os.getcwd()

  删除目录实例:

#!/usr/bin/python
# -*- coding: UTF-8 -*- import os # 删除”/home/x-man/test”目录
os.rmdir("/home/x-man/test")

Python基础学习笔记(十二)文件I/O的更多相关文章

  1. Python基础学习笔记(二)变量类型

    参考资料: 1. <Python基础教程> 2. http://www.runoob.com/python/python-chinese-encoding.html 3. http://w ...

  2. python 学习笔记(十二) 文件和序列化

    python 文件读写和序列化学习.## python文件读写`1 打开并且读取文件` f = open('openfile.txt','r') print(f.read()) f.close() ` ...

  3. Java基础学习笔记十二 类、抽象类、接口作为方法参数和返回值以及常用API

    不同修饰符使用细节 常用来修饰类.方法.变量的修饰符 public 权限修饰符,公共访问, 类,方法,成员变量 protected 权限修饰符,受保护访问, 方法,成员变量 默认什么也不写 也是一种权 ...

  4. python基础学习(十二)

    模块 前面有简单介绍如何使用import从外部模块获取函数并且为自己的程序所用: >>> import math >>> math.sin(0) #sin为正弦函数 ...

  5. JavaBean(web基础学习笔记十二)

    一.JavaBean简介 JavaBean是使用Java语言开发的一个可重用的组件,在JSP的开发中可以使用JavaBean减少重复代码,使整个JSP代码的开发更简洁.JSP搭配JavaBean来使用 ...

  6. 【Python】学习笔记十二:模块

    模块(module) 在Python中,一个.py文件就是一个模块.通过模块,你可以调用其它文件中的程序 引入模块 先写一个first.py文件,内容如下: def letter(): print(' ...

  7. python基础学习(十二)变量进阶

    目录 1. 变量的引用 1.1 引用的概念 1.2 变量引用 的实例 1.3 函数的参数和返回值的传递 2. 可变和不可变类型 哈希 (hash) 3. 局部变量和全局变量 3.1 局部变量 3.2 ...

  8. python基础学习笔记(二)

    继续第一篇的内容,讲解,python的一些基本的东西. 注释 为了让别人能够更容易理解程序,使用注释是非常有效的,即使是自己回头再看旧代码也是一样. >>> #获得用户名: > ...

  9. python3.4学习笔记(十二) python正则表达式的使用,使用pyspider匹配输出带.html结尾的URL

    python3.4学习笔记(十二) python正则表达式的使用,使用pyspider匹配输出带.html结尾的URL实战例子:使用pyspider匹配输出带.html结尾的URL:@config(a ...

  10. Go语言学习笔记十二: 范围(Range)

    Go语言学习笔记十二: 范围(Range) rang这个关键字主要用来遍历数组,切片,通道或Map.在数组和切片中返回索引值,在Map中返回key. 这个特别像python的方式.不过写法上比较怪异使 ...

随机推荐

  1. 深入研究java.lang.Runtime类【转】

    转自:http://blog.csdn.net/lastsweetop/article/details/3961911 目录(?)[-] javalang 类 Runtime getRuntime e ...

  2. 深拷贝 vs 浅拷贝 释放多次

    如果类中有需要new的数据,那么一定要注意delete; 如果只free一次,但是提示free多次,一定要注意了,有可能是因为你没有定义拷贝函数! 以我的亲身经历来说: operater *(mycl ...

  3. 【jQuery UI 1.8 The User Interface Library for jQuery】.学习笔记.6.Dialog控件

    习惯上,我们播放一条简短的信息,或向浏览者询问一个问题,都会用到dialog. 创建一个基本的dialog 使用dialog 选项 形式 启用内置动画 给dialog添加按钮 使用dialog回调函数 ...

  4. 13、mysql/触发器

    1. mysql mysql基础 1)mysql存储结构: 数据库 -> 表 -> 数据   sql语句 2)管理数据库: 增加: create database 数据库 default ...

  5. ectouch第二讲之 文件结构

    相信大家在ectouch官网都注意到了,ectouch采用的MVC框架,之前一直以为它用的和ecshop一样都是smarty,本鸟默默按照smarty的文件结构研究了好几天,结果是各种文件对不上号.无 ...

  6. SpringMVC项目,启动项目怎么总是报找不到log4j.properties文件

    具体操作:右键项目---->properties--->Java Build Path--->source--->Add Folder --->选择log4.proper ...

  7. RabbitMQ 基本概念介绍-----转载

    1. 介绍 RabbitMQ是一个由erlang开发的基于AMQP(Advanced Message Queue )协议的开源实现.用于在分布式系统中存储转发消息,在易用性.扩展性.高可用性等方面都非 ...

  8. 请求php返回json生成自定义对象

    php代码 public function convert_array(){ $arr = array( '0'=>array('name'=>'zc','height'=>173) ...

  9. Winform窗体

    Form窗体是Windows应用程序的基本单元.Form窗体不仅是一个窗口,还是一个容器,窗体内可以放置各种控件来实现各种功能.Form窗体也是对象,在窗体类Form中定义了生成窗体的模板,对窗体类进 ...

  10. Memcached缓存瓶颈分析

    Memcached缓存瓶颈分析 获取Memcached的统计信息 Shell: # echo "stats" | nc 127.0.0.1 11211 PHP: $mc = new ...