Python程序设计7——文件读写
1 文件读写简介
文件读写是应用程序中的常用操作。下面介绍Python中进行文件读写。Python的文件读写是非常简单的。
1.1 open函数
open函数一般有了两个必须参数,一个是文件名参数,另一个是模式参数,所谓模式参数是指读写等模式。还有一个参数用来控制文件的缓存,默认值为0,表示不缓冲,设置为1表示有缓冲。
open函数的模式值
r 读模式打开
w 读写模式打开
a 写入模式打开
b 二进制模式打开(可以和其他模式并用)
+ 读写模式打开,可以和其他模式并用
U 支持换行符例如\n,\r
默认是以r打开,需要注意的是,如果是特殊文件如视频或者图片文件,必须以b模式
o = open(r"F:\Personal Study\CodeLibrary\Python\chapter4\abc.txt", 'r')
o.write("Hello World")
o.close()
注意:如果文件本身不存在的,open函数会自动判断,进行创建。
1.2 文件读取
将文本文件的内容读入,可以操作字符串变量的函数有3个,但他没对文件的读取方式各不相同,其中read()函数可以一次性读取,readline函数按行读取,readlines函数则以多行方式读取。
1.read函数
read函数使用规则如下:
content = read([num])
read函数只有一个参数num,这个参数是可选的用于控制函数读取数据的字符数。
o = open(r'/home/jack/demo/4.5/Demo05.py')
content = o.read()
print content
print o.tell()
content = o.read(16)
print content
o.close()
输出结果:
o = open(r'/home/jack/demo/4.5/Demo05.py')
content = o.read()
print content
print o.tell()
content = o.read(16)
print content
o.close() 183
程序分析:tell方法用于查询当前文件的字符的长度,返回值是一个整数
2.readline函数
readline函数同样用来读取数据,但是每次只读取一样。
函数语法如下:
content = readline([num])
readline函数有一个参数,该参数作用和read函数参数一样,用于返回结果集中的字符内容。
o = open(r'/home/jack/demo/4.5/Demo05.py')
print o.tell()
content = o.readline(2)
print content
content = o.readline()
print content
o.close()
输出结果:
0
o
= open(r'/home/jack/demo/4.5/Demo05.py')
3.readlines函数
该函数使用循环读取内容,能够显示文件的所有行
使用规则:
listcoentent = readlines()
例子:
o = open(r'/home/jack/demo/4.5/Demo05.py')
contents = o.readlines()
for content in contents:
print content
o.close()
输出结果:
o = open(r'/home/jack/demo/4.5/Demo05.py') contents = o.readlines() for content in contents: print content o.close()
1.3 文件的写入
将内容通过片python写入已创建的文件中,这个过程叫文件写入。下面介绍write写入字符串以及使用函数wirtelines写入数据到文件。
1.write函数
规则:write(content)
该函数只有一个参数,并且是必须的。
o = open(r'/home/jack/demo/4.5/Demo06.py','w+')
o.write("o = open(r'/home/jack/demo/4.5/Demo05.py')\ncontents = o.readlines()\nfor content in contents:\n\tprint content\no.close()")
o.close()
分析:该程序将一个程序写入到另一个文件中Demo06.py中,修改Demo06.py的执行权限后,可以直接执行。
2.writelines函数
writelines只有一个参数,参数是集合类型数据
规则:writelines(listcontent)
o = open(r'/home/jack/demo/4.5/Demo06.py','w+')
listcontent = ['Hello', 'World']
o.writelines(listcontent)
o.close()
运行后会将列表中的数据写入到Demo06.py文件中
注意:如果是字典文件,只会将键写入,值不会写入。
示例:创建一个记事本:
print '==================Welcome to use QiQi Note================='
con = True
while con:
k = int(raw_input('Please input your operation:\n1.I want to write diary\n2.I want to read my diaries\n3.quit\n'))
if(k == 1):
o = open(r"/home/jack/demo/4.5/mylog.txt","a+");
content = raw_input("Please write:\n")
o.write(content);
o.close();
print "====================";
elif(k == 2):
print "====================";
o = open(r"/home/jack/demo/4.5/mylog.txt","a+");
listcontent = o.readlines();
for content in listcontent:
print content;
o.close();
print "====================";
else:
print "Welcome to use next time";
con = False;
选择输入1,输入一些内容后,再选择2读取
====================
I miss you,QiQi
====================
os模块和os.path模块
os模块和os.path模块下包含了与普通操作系统的交互功能。如果你希望程序能够与平台无关,这个模块很重要。这个模块提供了统一的操作系统接口函数
os模块比较重要的函数

下面介绍常用函数
remove函数
语法如下:
import os;
os.remove(file)
一个例子:
#!/usr/bin/python
import os;
if (os.path.exists(r"/home/jack/demo/4.5/abc.txt")):
os.remove(r"/home/jack/demo/4.5/abc.txt");
print "Remove successfully";
copyfile和move函数
这两个函数属于shutil模块的,这个模块下包含下面几个常用的函数:

copyfile函数语法是:copyfile(src,dst)
该函数有两个参数,其中src表示需要复制文件的地址,参数dst表示文件复制的目的地址。另外使用move函数实现文件的移动操作。
import shutil;
shutil.copyfile(r"/home/jack/demo/4.5/Demo07.py", r"/home/jack/demo/4.5/bk_Demo07.py");
shutil.move(r"/home/jack/demo/4.5/Demo06.py", r"/home/jack/demo/Demo06.py");
mkdir函数
该函数和linux的mkdir命令作用是一样的,用于创建一个自定义目录。语法如下:
import os;
os.mkdir(dir)
下面例子用mkdir创建了一个目录,并用open函数生成了一个文件
>>> import os
>>> os.mkdir(r"/home/jack/demo/4.5/hell")
>>>open(r"/home/jack/demo/4.5/hell/abc.txt","a+")
makedirs函数
该函数同样是用来创建一个目录,它和mkdir函数作用相同,唯一不同的是,makedirs函数可以创建多级目录,而mkdir不能
os.makedirs(dir)
os.makedirs(r"/home/a/b")
rmdir函数
这个函数用来删除空目录的,如果目录中存在子文件夹或者文件则会抛出异常。
os.rmdir(dir)
rmtree函数
这个函数用于删除非空目录,无论里面是不是有子文件夹或者文件,都可以删除
shutil.rmtree(dir)
Python程序设计7——文件读写的更多相关文章
- python基础之文件读写
python基础之文件读写 本节内容 os模块中文件以及目录的一些方法 文件的操作 目录的操作 1.os模块中文件以及目录的一些方法 python操作文件以及目录可以使用os模块的一些方法如下: 得到 ...
- 第二篇:python基础之文件读写
python基础之文件读写 python基础之文件读写 本节内容 os模块中文件以及目录的一些方法 文件的操作 目录的操作 1.os模块中文件以及目录的一些方法 python操作文件以及目录可以使 ...
- Python 基本语法,文件读写,数据结构和类型
Python 基本语法,文件读写,数据结构和类型 1.基本语法 解释型(无需编译).交互式.面向对象.跨平台.简单好用 中文编码:http://www.cnblogs.com/huxi/archive ...
- 【python系统学习17】python中的文件读写
python中的文件读写 文件读写,是Python代码调用电脑文件的主要功能,能被用于读取和写入文本.音频片段.Excel文档.邮件以及任何保存在电脑上的东西. 可使用python批量的操作本地文件, ...
- python中的文件读写(open()函数、with open('file_directory','r') as f:、read()函数等)
python中也有文件读写,通过调用内置的读写函数.可以完成文件的打开/关闭.读.写入.追加等功能. open()函数 open()函数为python中的打开文件函数,使用方式为: f = open( ...
- python学习之文件读写入门(文件读的几种方式比较)
1.文件读写简单实例:(以w写的方式打开一个文件,以r读一个文件) # Author : xiajinqi # 文件读写的几种方式 # 文件读写 f = open("D://test.txt ...
- python学习之文件读写,序列化(json,pickle,shelve)
python基础 文件读写 凡是读写文件,所有格式类型都是字符串形式传输 只读模式(默认) r f=open('a.txt','r')#文件不存在会报错 print(f.read())#获取到文件所 ...
- python(三)一个文件读写操作的小程序
我们要实现一个文件读写操作的小程序 首先我们有一个文件 我们要以"============"为界限,每一个角色分割成一个独立的txt文件,按照分割线走的话是分成 xiaoNa_1. ...
- python学习之文件读写操作
open函数 在使用文件之前,需要先打开,即使用open函数 如: files=open("文件路径","操作方式") 解释如下: (1.files:为文件对象 ...
随机推荐
- 2018.7.27 wireless charger TX evaluation kit based on STWBC-EP
1 introduced 我们需要设计一个无线充电方案: 功能需求:通用的无线充电平台 参数要求:8-10W step1: 找寻资料 http://www.ti.com/sitesearch/doc ...
- hdu4442 Physical Examination(贪心)
这种样式的最优解问题一看就是贪心.如果一下不好看,那么可以按照由特殊到一般的思维方式,先看n==2时怎么选顺序(这种由特殊到一般的思维方式是思考很多问题的入口): 有两个队时,若先选第一个,则ans= ...
- CodeForces - 961D:Pair Of Lines (几何,问两条直线是否可以覆盖所有点)
You are given n points on Cartesian plane. Every point is a lattice point (i. e. both of its coordin ...
- CAS环境搭建-证书方式(https连接)
一.教程前言 1 教程目的:从头到尾细细道来单点登录服务器及客户端应用的每个步骤 2 单点登录(SSO):请看<CAS简介> 3 本教程使用的SSO服务器是Yelu大学研发的CAS(Cen ...
- POJ3468:A Simple Problem with Integers
浅谈分块:https://www.cnblogs.com/AKMer/p/10369816.html 题目传送门:http://poj.org/problem?id=3468 分块裸题.对于每个块记录 ...
- Asp.net工作流workflow实战之工作流启动与继续(三)
工作流帮助类: //让工作流继续沿着书签的位置向下执行value是向书签传递参数 wfc.ResumeBookmark(bookmarkName,value); //把传过来的数据value作为输出参 ...
- springboot实现定时任务的一种方式
参考:https://www.yoodb.com/news/detail/1205 目前觉得这种还是很好用,所以就记录. 最好新建一个项目测试: 1. pom中添加 <dependency> ...
- Hanoi双塔问题(递推)
Hanoi双塔问题 时间限制: 1 Sec 内存限制: 128 MB提交: 10 解决: 4[提交][状态][讨论版][命题人:外部导入] 题目描述 给定A,B,C三根足够长的细柱,在A柱上放有2 ...
- 2017-09-17 python 学习笔记
Mock 库 介绍: http://blog.csdn.net/chdhust/article/details/50663729 说明mock能做什么. 可以考虑在调试方法时使用 Mock 库
- centos软件安装目录(amp目录)
entos安装软件的目录 1. 如果是rpm安装的可以:rpm -ql package-name 2. 可以在根目录上直接find . -name 软件中的某个文件名 不过安装软件一般都在/usr/l ...