您的位置:首页 > 编程语言 > Python开发

Python程序设计7——文件读写

2013-08-09 21:32 141 查看

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,这个参数是可选的用于控制函数读取数据的字符数。

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;


View Code
选择输入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)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: