参考资料:

  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. 160223、jquery中attr和prop的区别

    在高版本的jquery引入prop方法后,什么时候该用prop?什么时候用attr?它们两个之间有什么区别?这些问题就出现了. 关于它们两个的区别,网上的答案很多.这里谈谈我的心得,我的心得很简单: ...

  2. 如何在VS2013中新建WindowsService定时任务

    http://jingyan.baidu.com/article/cd4c2979e9330d756f6e6070.html 很多人都想做定时任务,但是没有不知道如何下手,现在就用WindowsSer ...

  3. 20145227 《Java程序设计》第1周学习总结

    20145227 <Java程序设计>第1周学习总结 教材学习内容总结 第一周学习Java首先了解了Java的历史,区分了JRE和JDK,并且学会了安装和配置环境.人机交互等基本知识,会编 ...

  4. Android开发:ScrollView嵌套GridView的解决办法

    Android开发:ScrollView嵌套GridView的解决办法   前些日子在开发中用到了需要ScrollView嵌套GridView的情况,由于这两款控件都自带滚动条,当他们碰到一起的时候便 ...

  5. man手册中文版实现

    1.添加库函数手册 sudo apt-get install manpages-dev 2.让man显示中文 ubuntu源里面已经包含了中文的man包,所以不用从其他地方down了,直接sudo a ...

  6. Poj(2679),SPFA,二级比较

    题目链接:http://poj.org/problem?id=2679 嗯,思路清晰,先DFS看是不是通路,接着就是SPFA找最短路(路是费用,费用相同就比较路的长度). 超哥的代码还有一点问题,初始 ...

  7. HTML+CSS编写规范

    在任何一个项目或者系统开发之前都需要定制一个开发约定和规则,这样有利于项目的整体风格统一.代码维护和扩展.由于Web项目开发的分散性.独立性.整合的交互性等,所以定制一套完整的约定和规则显得尤为重要. ...

  8. Entity Framework 第七篇 简化排序

    上篇介绍了EF的分页实现,分页的时候会用到排序,但是使用起来表达式写的似乎很繁琐 , ); 如果直接使用排序字符串,不更直观简便么? respository.GetPaged<S_Users&g ...

  9. IIS上部署MVC网站,打开后ExtensionlessUrlHandler-Integrated-4.0解决方法

    IIS上部署MVC网站,打开后ExtensionlessUrlHandler-Integrated-4.0解决方法 IIS上部署MVC网站,打开后500错误:处理程序“ExtensionlessUrl ...

  10. tomcant报错The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path

    下载与你Tomcat对应版本的 tcnative-1.dll,放到apache-tomcat-7.0.57\bin 目录下,重启tomcat http://archive.apache.org/dis ...