Python基础学习笔记(十二)文件I/O
参考资料:
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的更多相关文章
- Python基础学习笔记(二)变量类型
参考资料: 1. <Python基础教程> 2. http://www.runoob.com/python/python-chinese-encoding.html 3. http://w ...
- python 学习笔记(十二) 文件和序列化
python 文件读写和序列化学习.## python文件读写`1 打开并且读取文件` f = open('openfile.txt','r') print(f.read()) f.close() ` ...
- Java基础学习笔记十二 类、抽象类、接口作为方法参数和返回值以及常用API
不同修饰符使用细节 常用来修饰类.方法.变量的修饰符 public 权限修饰符,公共访问, 类,方法,成员变量 protected 权限修饰符,受保护访问, 方法,成员变量 默认什么也不写 也是一种权 ...
- python基础学习(十二)
模块 前面有简单介绍如何使用import从外部模块获取函数并且为自己的程序所用: >>> import math >>> math.sin(0) #sin为正弦函数 ...
- JavaBean(web基础学习笔记十二)
一.JavaBean简介 JavaBean是使用Java语言开发的一个可重用的组件,在JSP的开发中可以使用JavaBean减少重复代码,使整个JSP代码的开发更简洁.JSP搭配JavaBean来使用 ...
- 【Python】学习笔记十二:模块
模块(module) 在Python中,一个.py文件就是一个模块.通过模块,你可以调用其它文件中的程序 引入模块 先写一个first.py文件,内容如下: def letter(): print(' ...
- python基础学习(十二)变量进阶
目录 1. 变量的引用 1.1 引用的概念 1.2 变量引用 的实例 1.3 函数的参数和返回值的传递 2. 可变和不可变类型 哈希 (hash) 3. 局部变量和全局变量 3.1 局部变量 3.2 ...
- python基础学习笔记(二)
继续第一篇的内容,讲解,python的一些基本的东西. 注释 为了让别人能够更容易理解程序,使用注释是非常有效的,即使是自己回头再看旧代码也是一样. >>> #获得用户名: > ...
- python3.4学习笔记(十二) python正则表达式的使用,使用pyspider匹配输出带.html结尾的URL
python3.4学习笔记(十二) python正则表达式的使用,使用pyspider匹配输出带.html结尾的URL实战例子:使用pyspider匹配输出带.html结尾的URL:@config(a ...
- Go语言学习笔记十二: 范围(Range)
Go语言学习笔记十二: 范围(Range) rang这个关键字主要用来遍历数组,切片,通道或Map.在数组和切片中返回索引值,在Map中返回key. 这个特别像python的方式.不过写法上比较怪异使 ...
随机推荐
- 精简高效的CSS命名准则/方法
/* ---------------------single CSS----------------------- */ /* display */ .dn{display:none;} .di{di ...
- 161124、Java 异常处理的误区和经验总结
本文着重介绍了 Java 异常选择和使用中的一些误区,希望各位读者能够熟练掌握异常处理的一些注意点和原则,注意总结和归纳.只有处理好了异常,才能提升开发人员的基本素养,提高系统的健壮性,提升用户体验, ...
- C# ZipHelper C#公共类 压缩和解压
关于本文档的说明 本文档基于ICSharpCode.SharpZipLib.dll的封装,常用的解压和压缩方法都已经涵盖在内,都是经过项目实战积累下来的 1.基本介绍 由于项目中需要用到各种压缩将文件 ...
- Microsoft Office 2013 Product Key
Microsoft Office 2013 Product Key ( Professional Plus ) PGD67-JN23K-JGVWW-KTHP4-GXR9G B9GN2-DXXQC-9D ...
- shell十三问:关于${0##*/} 和${0%/*}
转自shell十三问: http://bbs.chinaunix.net/thread-218853-1-1.html …… 假設我們定義了一個變量為:file=/dir1/dir2/dir3/my ...
- 20145227 《Java程序设计》实验四实验报告
20145227 <Java程序设计>实验四实验报告 实验内容 安装Andriod Studio并配置软件 使用Andriod Studio软件实现Hello World的小程序 实验步骤 ...
- Linux上部署Tomcat(包括JAVA环境的配置)
一. 用FTP工具,把apache-tomcat-7.0.64.tar.gz,jdk-7u79-linux-x64.tar.gz 上传到目录/home/zwl/Tomcat/命令下 因为Tomcat运 ...
- 【转】表删除时 Cannot delete or update a parent row: a foreign key constraint fails 异常处理
转载地址:http://lijiejava.iteye.com/blog/790478 有两张表,结构如下: t_item: t_bid: id ...
- 20150813 Asp.net 关闭子窗体 刷新Tree控件
主窗体************************************************************************************ using System ...
- 线程池原理及创建(C++实现)
http://www.cnblogs.com/lidabo/p/3328402.html 本文给出了一个通用的线程池框架,该框架将与线程执行相关的任务进行了高层次的抽象,使之与具体的执行任务无关.另外 ...